大道之简
大道之简
  • 发布:2015-04-07 14:51
  • 更新:2015-04-07 22:08
  • 阅读:2800

百度地图marker问题

分类:HTML5+

百度地图中marker的label显示在图标的下面,不是偏移一定位置显示在上面,这个咋改?还有百度地图初始化是北京地区,然后滑动到用户位置,能不能初始化就是用户位置?

2015-04-07 14:51 分享
已邀请:
太阳光

太阳光

    var map = new plus.maps.Map("map");  
    //不要定时器也不要渲染地图  
    map.getUserLocation(function(state,point){  
        if(0 == state){  
            var point = new plus.maps.Point(point.longitude,point.latitude);  
            map.centerAndZoom( point, 13);  
            var marker = new plus.maps.Marker(point);  
            //marker.setIcon("/img/red.png");//图标显示  
            var bubble = new plus.maps.Bubble("我的位置");  
                marker.setBubble(bubble);  
                map.addOverlay(marker);  
        }else{  
            map.centerAndZoom( new plus.maps.Point(116.3977,39.906016), 12 );//指定默认地址  
            console.log("无法获取当前地址!");  
        }  
    });
  • 大道之简 (作者)

    我试了你的办法,打开app时,地图还是总某个地方滑到用户位置,为啥不是在地图空间显示的时候就直接在用户的位置,谢谢!还有那个marker的图标和气泡文本重叠该如何解决!谢谢兄台了!

    2015-04-07 22:01

太阳光

太阳光

首先地图必须先加载进来,然后搜索指定的经伟度点。当网络不够快时就比较明显看到移动(中国地图下突然进入指定的点)如果网络速度够快你就看不到那个过程,直接显示到那个点。
至于图标与气泡重叠问题,我建议你只使用:
marker.setIcon("/img/red.png");
marker.setLabel("我在这里");
这两个是一上一下,不会重叠。

  • 大道之简 (作者)

    为何不能像百度地图API里的MarkerOptions设置标注偏移?如果只用marker,用户体验就不好了

    2015-04-07 22:20

  • 太阳光

    当然不可能更详细的参数h5+也支持,否则接口就更复杂了。它应该是精简的调用,所以很多参数不可能设置。http://www.html5plus.org/specification/Maps.html#plusmapsBubble

    2015-04-07 22:29

该问题目前已经被锁定, 无法添加新回复