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

发布于 2022-09-06 22:00:58 字数 2260 浏览 16 评论 0

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});

图片描述

缩放后:

图片描述

谢谢!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

猥琐帝 2022-09-13 22:00:58

大概是因为这些标注点的坐标是通过ajax获取过来的,不知道百度地图内部是怎么实现的。我这个项目中,百度地图是在另一个页面中,需要通过点击某个按钮将这个页面放入iframe中,所以我先在页面刷新的时候将数据先准备好存在本地。百度地图的页面在去获取就没问题了。

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文