Marker 设置ID并且查找某ID得point
时间: 2023-07-22 16:34:36 浏览: 171
好的,针对您的问题,我可以给出以下回答:
在Marker中,可以通过 `setId()` 方法来设置Marker的ID,例如:
```
Marker marker = mMap.addMarker(new MarkerOptions()
.position(latLng)
.title("Marker Title")
.snippet("Marker Snippet"));
marker.setId(1);
```
在设置了Marker的ID之后,可以通过 `findMarkerById()` 方法来查找某个ID对应的Marker,例如:
```
Marker marker = mMap.findMarkerById(1);
if (marker != null) {
LatLng position = marker.getPosition();
// do something with position
} else {
// ID为1的Marker不存在
}
```
需要注意的是,`findMarkerById()` 方法是在 Google Maps Android API v2 中引入的,如果您使用的是旧版的API,可能无法使用该方法。另外,如果您需要同时管理多个Marker,并且需要更灵活的查询和管理方式,建议使用自定义的数据结构来管理Marker,例如使用HashMap来将Marker的ID与其对应的数据关联起来。
相关问题
百度地图Marker 设置ID并且查找某ID得point
好的,针对您的问题,我可以给出以下回答:
在百度地图的Marker中,可以通过 `id` 属性来设置Marker的ID,例如:
```
MarkerOptions markerOptions = new MarkerOptions()
.position(latLng)
.title("Marker Title")
.icon(bitmapDescriptor);
Overlay marker = mMap.addOverlay(markerOptions);
marker.setId(1);
```
在设置了Marker的ID之后,可以通过 `getMap().getMarker(int id)` 方法来查找某个ID对应的Marker,例如:
```
Marker marker = (Marker) mMap.getMap().getMarker(1);
if (marker != null) {
LatLng position = marker.getPosition();
// do something with position
} else {
// ID为1的Marker不存在
}
```
需要注意的是,`getMap().getMarker(int id)` 方法是在百度地图SDK中引入的,如果您使用的是其他版本的API,可能无法使用该方法。另外,如果您需要同时管理多个Marker,并且需要更灵活的查询和管理方式,建议使用自定义的数据结构来管理Marker,例如使用HashMap来将Marker的ID与其对应的数据关联起来。
var marker = new BMapGL.Marker(point, { id: pointData.No, // 设置标记物体的ID为'marker_1' icon: makerIcon });
这段代码是使用百度地图 API 创建一个标记物体(marker)。具体来说,它做了以下几件事情:
1. 使用 `BMapGL.Marker` 构造函数创建了一个新的标记物体对象。
2. `point` 参数是一个 `BMapGL.Point` 对象,表示该标记物体的位置。
3. 通过 `id` 属性为标记物体设置了一个唯一的标识符,将来可以使用这个标识符来查找或操作该标记物体。
4. `icon` 属性是一个 `BMapGL.Icon` 对象,表示该标记物体的图标。这里使用了一个自定义的图标 `makerIcon`。
总之,这段代码是在地图上创建了一个带有自定义图标和唯一标识符的标记物体,并将其放置在指定的位置上。
阅读全文
相关推荐







