前端小白:百度定位API为啥老给我整北京天安门的坐标呢?-.-

<html>
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <meta name="viewport" content="initial-scale=1.0, user-scalable=no" />
    <style type="text/css">
        body, html,#allmap {width: 100%;height: 100%;overflow: hidden;margin:0;font-family:"微软雅黑";}
    </style>
    <script type="text/javascript" src="http://api.map.baidu.com/api?v=2.0&ak=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"></script>
    <title>浏览器定位</title>
    <style>
    #allmap{
        width: 800px;
        height: 800px;
        margin:0 auto;
    }
    </style>
</head>
<body>
    <div id="allmap"></div>
</body>
</html>
<script type="text/javascript">
    // 百度地图API功能
    var geolocation = new BMap.Geolocation();
    geolocation.getCurrentPosition(function(r){
        if(this.getStatus() == BMAP_STATUS_SUCCESS){
                var map = new BMap.Map("allmap");// 创建Map实例
                    map.addControl(new BMap.MapTypeControl());   //添加地图类型控件
                    map.setCurrentCity("北京");          // 设置地图显示的城市 此项是必须设置的
                    map.enableScrollWheelZoom(true);     //开启鼠标滚轮缩放
                    var point = new BMap.Point(r.point.lng,r.point.lat);
                    map.centerAndZoom(point,12); // 初始化地图,设置中心点坐标和地图级别
            var mk = new BMap.Marker(point);
            map.addOverlay(mk);
            mk.setAnimation(BMAP_ANIMATION_BOUNCE); //跳动的动画
            // map.panTo(point);
            alert('您的位置:'+r.point.lng+','+r.point.lat);
        }
        else {
            alert('failed'+this.getStatus());
        }        
    },{enableHighAccuracy: true})
    //关于状态码
    //BMAP_STATUS_SUCCESS   检索成功。对应数值“0”。
    //BMAP_STATUS_CITY_LIST 城市列表。对应数值“1”。
    //BMAP_STATUS_UNKNOWN_LOCATION  位置结果未知。对应数值“2”。
    //BMAP_STATUS_UNKNOWN_ROUTE 导航结果未知。对应数值“3”。
    //BMAP_STATUS_INVALID_KEY   非法密钥。对应数值“4”。
    //BMAP_STATUS_INVALID_REQUEST   非法请求。对应数值“5”。
    //BMAP_STATUS_PERMISSION_DENIED 没有权限。对应数值“6”。(自 1.1 新增)
    //BMAP_STATUS_SERVICE_UNAVAILABLE   服务不可用。对应数值“7”。(自 1.1 新增)
    //BMAP_STATUS_TIMEOUT   超时。对应数值“8”。(自 1.1 新增)
</script>

如上图所示,为什么得不到我现在的位置坐标,老是给我整天安门那的呢?
有什么办法得到现在的地理位置信息呢?
各位大神请帮小弟一把。。

阅读 6.7k
2 个回答
map.setCurrentCity("北京");          // 设置地图显示的城市 此项是必须设置的

这句没毛病么?开发人员怎么知道当前城市是什么呢?如果用户全国各地到处走怎么办?
刚才试了下百度官方给的demo,没有办法修改当前城市,只能是北京。你可以自己试试http://developer.baidu.com/map/jsdemo.htm#a1_2

这个是百度ip定位的
https://zhidao.baidu.com/ques...

换高德试试吧,百度真的就只能呵呵了。。。

百度有详细的api地址,如果你想修改他的初始位置,有一个方法是传参数进去就(坐标,或者位置信息)可以了,我弄过,你去api的官网上找,肯定有,我当时就是那么找的

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题