BMapGL 获取markerId
时间: 2024-01-18 07:04:23 浏览: 25
在BMapGL中,可以通过调用 `BaiduMap` 对象的 `addOverlay()` 方法将 `Marker` 对象添加到地图上,并返回该 `Marker` 对象的id。例如:
```java
LatLng point = new LatLng(39.963175, 116.400244);
BitmapDescriptor bitmap = BitmapDescriptorFactory.fromResource(R.drawable.icon_marka);
MarkerOptions option = new MarkerOptions().position(point).icon(bitmap);
//将Marker添加到地图上,并返回该Marker的id
int markerId = baiduMap.addOverlay(option);
```
在这个示例中,我们首先创建一个 `LatLng` 对象表示位置,然后创建一个 `BitmapDescriptor` 对象表示图标,再创建一个 `MarkerOptions` 对象设置位置和图标,最后调用 `addOverlay()` 方法将 `Marker` 对象添加到地图上,并返回该 `Marker` 对象的id。在实际开发中,您可以将 markerId 存储在变量中,然后在需要时使用它来获取 `Marker` 对象。例如:
```java
// 获取指定id的Marker对象
Marker marker = baiduMap.getMap().getMarkerById(markerId);
if (marker != null) {
// 触发Marker已经设置的点击事件
marker.performClick();
}
```
在这个示例中,我们根据 `markerId` 获取 `Marker` 对象,并进行相应的操作。