百度地图获取marker
时间: 2023-12-15 20:05:47 浏览: 333
要获取百度地图上的marker,你可以使用JavaScript API提供的`getOverlays()`方法。这个方法可以获取地图上所有的覆盖物,包括marker、polyline、polygon等等。然后你可以通过遍历覆盖物数组,判断每一个覆盖物的类型是否为marker,如果是则将其加入到一个新的数组中。
以下是一个示例代码:
```javascript
// 获取地图上所有覆盖物
var allOverlays = map.getOverlays();
// 定义一个新的数组,用于保存所有的marker
var markers = [];
// 遍历所有覆盖物,判断是否为marker,并将其加入到markers数组中
for (var i = 0; i < allOverlays.length; i++) {
if (allOverlays[i] instanceof BMap.Marker) {
markers.push(allOverlays[i]);
}
}
// 现在markers数组中就保存了所有的marker
console.log(markers);
```
注意,以上代码中的`map`是指创建的百度地图实例。如果你的代码中没有定义`map`变量,那么你需要先创建一个地图实例,例如:
```javascript
var map = new BMap.Map("mapContainer");
```
其中`mapContainer`是一个div元素的ID,表示地图容器。你需要在HTML中定义这个元素,例如:
```html
<div id="mapContainer"></div>
```
阅读全文