用html5的地理信息功能,写了以下html,来读取当前的位置。
以下代码在chrome(13),opera(11.5)都能正常显示,但在android2.2模拟器中无法显示,请高手求解?是手机上的设定问题?手机上浏览器设定问题?<!DOCTYPE html>
<head>
<%@ page contentType = "text/html;charset=GBK"%>
<meta name="viewport" content="initial-scale=1.0,user-scalable=no" />
<titile>获取当前位置的地理信息</titile>
<script type="text/javascript" src="http://maps.google.com/maps/api/js?sensor=false"></script>
<script type="text/javascript">function showObject(obj,k){
//alert("showObject1");
if(!obj){return;}
for(var i in obj){
//alert("showObject2");
if(typeof(obj[i])!= "object" || obj[i] == null ){
for(var j = 0 ; j < k ; j++){
document.write("&nbsp;&nbsp;&nbsp;&nbsp;") ;
}
document.write(i + ":" + obj[i] + "<br/>") ;
}else{
document.write(i + ":" + "<br/>") ;
showObject(obj[i],k+1) ;
}
}
////alert("showObject3");
}function get_location(){
//alert("get_location1");
if(navigator.geolocation){
alert("get_location2");
navigator.geolocation.getCurrentPosition(show_map,handle_error,
{enableHighAccuracy:true,maximumAge:1000});
//alert("get_location3");
}else{
alert("你的浏览器不支持使用HTML 5来获取地理信息。") ;
}
}function handle_error(err){
//alert("handle_error");
//错误处理
switch(err.code){
case 1:
//alert("位置服务被拒绝");
break ;
case 2:
//alert("暂时获取不到位置信息");
break ;
case 3:
//alert("获取信息超时");
break ;
default:
//alert("未知错误");
break ;
}
}
function show_map(position){
//alert("show_map1");
var latitude = position.coords.latitude ;
var longitude = position.coords.longitude ;
showObject(position,0) ;
//alert("show_map2");
}
//alert("get_location");
get_location();
</script></head>
<body>
<div id="map" style="width:400px;height:400px"></div>
</body>