查看: 43|回复: 1

[咨询求助] 如何区分设置了label的marker和没设置label的marker

[复制链接]
mmupp 发表于 2017-11-14 11:44:45 | 显示全部楼层 |阅读模式
JavaScript API
浏览器类型、版本号: 360l浏览器
pc系统或手机型号: win764位
使用的接口/api: js api
问题描述: 如何区分设置了label的marker和没设置label的marker
复现步骤: 如何区分设置了label的marker和没设置label的marker,利用allOverlay[i].getLabel().content没设置label的marker会报错,如何规避
效果截图: -
完整代码: <!DOCTYPE html>
<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 {width: 100%;height: 100%;margin:0;font-family:"微软雅黑";}
#allmap{width:100%;height:500px;}
</style>
<script type="text/javascript" src="http://api.map.baidu.com/api?v=1.2"></script>
<title>从多个点删除指定点</title>
</head>
<body>
<div id="allmap"></div>
<input type="button" onclick="deletePoint()" value="删除id=1"/>
</body>
</html>
<script type="text/javascript">
// 百度地图API功能
var map = new BMap.Map("allmap");
var point = new BMap.Point(116.404, 39.915);
map.centerAndZoom(point, 15);
map.disableDoubleClickZoom(true);

// 编写自定义函数,创建标注
function addMarker(point,label){
var marker = new BMap.Marker(point);
map.addOverlay(marker);
marker.setLabel(label);
}
var marker1 = new BMap.Marker(point);
map.addOverlay(marker1);
// 随机向地图添加25个标注
var bounds = map.getBounds();
var sw = bounds.getSouthWest();
var ne = bounds.getNorthEast();
var lngSpan = Math.abs(sw.lng - ne.lng);
var latSpan = Math.abs(ne.lat - sw.lat);
for (var i = 0; i < 10; i++) {
var point = new BMap.Point(sw.lng + lngSpan * (Math.random() * 0.7), ne.lat - latSpan * (Math.random() * 0.7));
var label = new BMap.Label("我是id="+i,{offset:new BMap.Size(20,-10)});
addMarker(point,label);
}
function deletePoint(){
var allOverlay = map.getOverlays();
for (var i = 0; i < allOverlay.length -1; i++){
if(allOverlay[i].getLabel().content == "我是id=1"){
map.removeOverlays(allOverlay[i]);
return false;
}
}
}
</script>
使用ak: 隐藏内容
如何区分设置了label的marker和没设置label的marker,利用allOverlay[i].getLabel().content没设置label的marker会报错,如何规避
mymapdata 发表于 2017-11-14 20:47:41 | 显示全部楼层
你好,能否通过经纬度来判断?文本标注和marker的标注点应该是唯一的

小黑屋|手机版|百度地图开放平台 ( 京ICP证030173号 )

GMT+8, 2017-11-23 22:38 , Processed in 0.051541 second(s), 21 queries .

Powered by Discuz! X3.2 Licensed

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表