首页 > 微信内置浏览器如何定位用户所在城市

微信内置浏览器如何定位用户所在城市

我的代码这样写的,但是有个问题,在wifi网络下可以正确定位(杭州),但是把网络切换到移动网络比喻4G网络就不准确了,我在杭州,但是定位显示温州。

<script type="text/javascript" src="http://api.map.baidu.com/getscript?v=1.4&amp;ak=&amp;services=&amp;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 ,以上


好像安卓的微信不可以

【热门文章】
【热门文章】