根据经纬度坐标获取位置信息(基于百度地图)

在上代码之前先交代一下,这个方法需要申请百度的ak秘钥,不过好在是免费的。

ak申请地址:http://lbsyun.baidu.com/index.php?title=jspopular3.0

接下来按照步骤申请就好了。下面上代码。

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">
        <title>根据经纬度获取位置</title>
        <script src="../js/jquery.min.js"></script>
    </head>
    <body>
        
        经度:<input type="text" id="jd"/>
        纬度:<input type="text" id="wd"/>
        <input type="button" value="获取位置" onclick="getPoi()"/>
        <script>
                
            function getPoi(){
                var x = $("#jd").val();
                var y = $("#wd").val();
                var token = "";                //自己申请的ak !important
                var url = "http://api.map.baidu.com/geocoder/v2/?location="+y+","+x+
                    "&output=json&ak="+token+"&jsoncallback=callbackFunction";
                $.ajax({
                    type: "GET",
                    url: url,
                    dataType : 'jsonp',
                    success: function(data){//具体返回结果的结构请查询API
                        if(data.status == 0){
                            var address = data.result.formatted_address;
                            var description = data.result.sematic_description;
                            alert(address+description);
                        }
                    },
                    error : function(e){    //报错找百度
                        window.open("https://www.baidu.com/s?ie=utf-8&rsv_bp=1&rsv_idx=1&tn=baidu&wd="+e);
                    }
                });        
            }
            
        </script>
    </body>
</html>

获取ak后,将ak放入对应位置即可运行(别忘了引入Jquery);

友情提示:这是基于百度地图的,如果你的项目的底图是其他的,比如天地图,高德等,请去对应的网站上寻找接口,只需替换url即可。返回结果大同小异,可以稍作修改。

posted @ 2019-06-14 13:46  半瓶假酒  阅读(5711)  评论(0编辑  收藏  举报