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

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

https://img2.mukewang.com/5c9882f40001021208000429.jpg

缩放后:

https://img2.mukewang.com/5c9882f60001068508000429.jpg

谢谢!


白猪掌柜的
浏览 583回答 1
1回答

红颜莎娜

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

相关分类

JavaScript