我的代码这样写的,但是有个问题,在wifi网络下可以正确定位(杭州),但是把网络切换到移动网络比喻4G网络就不准确了,我在杭州,但是定位显示温州。
<script type="text/javascript" src="http://api.map.baidu.com/getscript?v=1.4&ak=&services=&t=20150522093217"></script>
<script>
$(function(){
var x=document.getElementById("demo");
var location = new Array();
function getLocation(){
if (navigator.geolocation){
navigator.geolocation.getCurrentPosition(showPosition);
}else{
x.innerHTML="Geolocation is not supported by this browser.";}
}
function showPosition(position){
x.innerHTML = position.coords.latitude + "|" + position.coords.longitude;
alert(position.coords.longitude);
alert(position.coords.latitude);
var map = new BMap.Map("allmap");
var point = new BMap.Point(position.coords.longitude,position.coords.latitude);
map.centerAndZoom(point,12);
function myFun(result){
var cityName = result.name;
map.setCenter(cityName);
alert(cityName);
}
var myCity = new BMap.LocalCity();
myCity.get(myFun);
//return position.coords.latitude + '|' + position.coords.longitude;
}
getLocation();
})
</script>
你问题解决了么,能指点下我怎么弄吗
var obj = navigator.geolocation.getCurrentPosition(showPosition);
//console.log(obj);
function showPosition(position){
var lng = position.coords.longitude;
var lat = position.coords.latitude;
$.post("getCityByLocation.action" , {"lat" : lat , "lng" : lng} ,function(result){
var bdo = $.parseJSON(result);
});
}
后端请求百度地图代码(主要是因为跨域问题,所以做了一次代理请求):
public void getCityByLocation(){
String ak = "XXX";
String lat = getRequest().getParameter("lat");
String lng = getRequest().getParameter("lng");
String coordtype = "bd09ll";
String output = "json";
String pois = "0";
String param = "", ret = "";
if (ak != null) {
param = "ak=" + ak;
}
if (lat != null && lng != null) {
param += "&location=" + lat + "," +lng;
}
if (coordtype != null) {
param += "&coordtype=" + coordtype;
}
if (output != null) {
param += "&output=" + output;
}
if (pois != null) {
param += "&pois=" + pois;
}
System.out.print("http://api.map.baidu.com/geocoder/v2/?"+param);
ret = HttpUtils.sendGet("http://api.map.baidu.com/geocoder/v2/?"+param);
outJsonString(ret);
}
@vilay ,以上
好像安卓的微信不可以