坏人未变坏 2018-03-29 08:14 采纳率: 46.2%
浏览 3861
已采纳

百度地图添加了一些标注点,但是拖动或缩放地图,标注点就消失了?

 var data = {
            query: '商圈',
            page_size: 20,
            radius: '2000',
            output: 'json',
            ak: 'av0gRXBETn44ByDpMgYhj95P9nACGns9'
        };

        var map = new BMap.Map("container");
        map.enableScrollWheelZoom(true);

        var top_right_navigation = new BMap.NavigationControl({anchor: BMAP_ANCHOR_TOP_RIGHT, type: BMAP_NAVIGATION_CONTROL_SMALL})
        map.addControl(top_right_navigation);

        // 定位对象
        var geoc = new BMap.Geocoder();
        var geolocation = new BMap.Geolocation();
        geolocation.getCurrentPosition(function(r){
            if(this.getStatus() == BMAP_STATUS_SUCCESS){
                data.location = r.point.lat.toFixed(3)+','+r.point.lng.toFixed(3);
                var point = new BMap.Point(r.point.lng.toFixed(3), r.point.lat.toFixed(3));
                map.centerAndZoom(point, 15);

                $.ajax({
                    url: "http://api.map.baidu.com/place/v2/search",
                    data: data,
                    type: "GET",
                    dataType: "jsonp",
                    success: function (data) {
                        var result  = data.results;
                        addMarker(result)
                    }
                });
                // 编写自定义函数,创建标注
                function addMarker(result){
                    var itmes;
                    var data = result;
                    var point = {};
                    for(var i=0;i<data.length;i++) {
                        itmes = result[i];
                        point['lng'] = itmes.location.lng;
                        point['lat'] = itmes.location.lat;
                        var marker = new BMap.Marker(point);
                        map.addOverlay(marker);
                    }
                }
            }else {
                alert('无法定位到您的当前位置,导航失败,请手动输入您的当前位置!'+this.getStatus());
            }
        },{enableHighAccuracy: true});

图片说明

缩放后:

图片说明

  • 写回答

5条回答 默认 最新

  • jnagri 2018-04-01 12:12
    关注

    将倒数第8行改为var marker = new BMap.Marker(itmes.location);就行了。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(4条)

报告相同问题?

悬赏问题

  • ¥15 metadata提取的PDF元数据,如何转换为一个Excel
  • ¥15 关于arduino编程toCharArray()函数的使用
  • ¥100 vc++混合CEF采用CLR方式编译报错
  • ¥15 coze 的插件输入飞书多维表格 app_token 后一直显示错误,如何解决?
  • ¥15 vite+vue3+plyr播放本地public文件夹下视频无法加载
  • ¥15 c#逐行读取txt文本,但是每一行里面数据之间空格数量不同
  • ¥50 如何openEuler 22.03上安装配置drbd
  • ¥20 ING91680C BLE5.3 芯片怎么实现串口收发数据
  • ¥15 无线连接树莓派,无法执行update,如何解决?(相关搜索:软件下载)
  • ¥15 Windows11, backspace, enter, space键失灵