码迷,mamicode.com
首页 > 其他好文 > 详细

学习使用PhoneGap笔记

时间:2014-06-27 09:00:51      阅读:128      评论:0      收藏:0      [点我收藏+]

标签:phonegap   getdirectory   百度地图js api 逆解析地址   获取手机信息   

一、下载图片相关问题

1.保存到SD卡的时候,如何创建目录?
只能一级一级目录的创建!!!!!(目前我的是这样)
<span style="white-space:pre">	</span>fileSystem.root.getDirectory("catchFile", {create:true,exclusive:false},function(){}, function(){alert('创建目录失败'); console.log("创建目录失败");});

如果要创建多级目录,则如下所示:
<span style="white-space:pre">	</span>fileSystem.root.getDirectory("catchFile", {create:true,exclusive:false},function(){}, function(){alert('创建目录失败'); console.log("创建目录失败");});
<span style="white-space:pre">	</span><span style="font-family: Arial, Helvetica, sans-serif;">fileSystem.root.getDirectory("catchFile/2014", {create:true,exclusive:false},function(){}, function(){alert('创建目录失败'); console.log("创建目录失败");});</span>




2.保存到SD卡后,在手机上使用怎样的路径显示图片?
demo中会有如下代码:
<pre name="code" class="javascript">function(entry){   
            var smallImage = document.getElementById(id);  
            smallImage.style.display = 'block';   
            smallImage.src = entry.fullPath;   
        }<pre name="code" class="javascript"></pre>


所以需要返回保存到缓存的路径就是  entry.fullPath
3.下载图片的时候,是同步还是异步呢?
下载图片的时候,phonegap是异步下载,因此在设置图片src的时候,一定要先把img加入到页面的某一个控件之后再下载。
4.一个页面上有服务器的同一张图片怎么办?
 function localFile(sourceUrl,imgName) {} 这个方法参数中,第一个参数表示服务器的图片地址,而后面这个参数是本地显示图片的 id,因此把第二个参数设置成不为本地重复即可。
注:从sourceUrl 中只获取文件名的方法:sourceUrl.substring(sourceUrl.lastIndexOf(‘/‘)+1)
二、phonegap 获取手机信息 和 通过百度地图js API 逆解析地址
以下的demo能充分证明
<!DOCTYPE html>
<html>
<head>	
<title>获取手机信息-定位得到的具体地址名称</title>

<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<script type="text/javascript" charset="utf-8"	src="./js/frame/jquery-1.8.2.min.js"></script>
<script type="text/javascript" charset="utf-8"	src="./js/frame/cordova-2.6.0.js"></script>
<script type="text/javascript" charset="utf-8">
	// 等待加载PhoneGap
	document.addEventListener("deviceready", onDeviceReady, false);	
	// PhoneGap加载完毕
	function onDeviceReady() {
		var element = document.getElementById('deviceProperties');
		//获取 手机类型与系统版本 name:meizu_mx3   mione_plus
		//var modelVersion=device.name+","+device.platform+","+device.version;
		//var areas=
		element.innerHTML = 'Device Name: '     + device.name     + '<br />' + 
							'Device PhoneGap: ' + device.phonegap + '<br />' + 
							'Device Platform: ' + device.platform + '<br />' + 
							'Device UUID: '     + device.uuid     + '<br />' + 
							'Device Version: '  + device.version  + '<br />';
		navigator.geolocation.getCurrentPosition(onSuccess, onError); 
	}
    function onSuccess(position) { 
        var element = document.getElementById('geolocation'); 
        element.innerHTML = 'Latitude: '          + position.coords.latitude         + '<br />' + 
                            'Longitude: '         + position.coords.longitude        + '<br />' + 
                            'Altitude: '          + position.coords.altitude         + '<br />' + 
                            'Accuracy: '          + position.coords.accuracy         + '<br />' + 
                            'Altitude Accuracy: ' + position.coords.altitudeAccuracy + '<br />' + 
                            'Heading: '           + position.coords.heading          + '<br />' + 
                            'Speed: '             + position.coords.speed            + '<br />' + 
                            'Timestamp: '         + position.timestamp               + '<br />'; 
         getAddress(position.coords.latitude+","+position.coords.longitude);
        document.getElementById('coords_a').innerHTML= "http://maps.google.com/maps/api/geocode/json?latlng="+position.coords.longitude+","+position.coords.latitude+"&language=zh-CN&sensor=true";
     	//http://maps.google.com/maps/api/geocode/json?latlng=position.coords.longitude,position.coords.latitude&language=zh-CN&sensor=true
    } 

        function onError(error) { 
            alert('code: '    + error.code    + '\n' + 
                  'message: ' + error.message + '\n'); 
        } 
        
        //根据经纬度获取地址名称
        function getAddress(location){
        alert(location);
        	$.ajax({
				type:'get',
				url:'http://api.map.baidu.com/geocoder/v2/?ak=G1RbGxzkHMimFHc4SDy9GfK1&location='+location+'&output=json',
				dataType:'jsonp',
				async: false,
				error:function(){
					alert("系统内部异常!");				
				},
				success:function(json){
					alert(json.result.addressComponent.city);
					$("#citys").html(json.result.addressComponent.city);
				}
			});
        }
</script>
</head>
<body>
	<ul>
		<li>只能在手机上看到结果</li>
	</ul>
	<p id="deviceProperties">Loading device properties...</p>
	<p id="geolocation">Finding geolocation...</p>
    <p id="coords_a">加载中...</p>
    <p id="citys">城市加载中...</p>
</body>
</html>

学习使用PhoneGap笔记,布布扣,bubuko.com

学习使用PhoneGap笔记

标签:phonegap   getdirectory   百度地图js api 逆解析地址   获取手机信息   

原文地址:http://blog.csdn.net/ybb350680013/article/details/30990041

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!