【发布时间】:2013-01-17 16:21:04
【问题描述】:
对于新的 Maps API,我注意到当您在地图上按下“我的位置”图钉时,onMapClick() 和 onMarkerClick() 都不会触发。
这表明我应该在某个地方有一个监听器来监听这些事件,在这些事件中按下“我的位置”触摸事件,但我找不到。有人对此有解决方案吗?
我一直在考虑这样的解决方法:
禁用标准的MyLocation 图标并创建一个功能类似于“我的位置”图钉的普通标记。
myLocationPin = mMap.addMarker(new MarkerOptions()
.title("My Location")
.icon(BitmapDescriptorFactory.fromResource(R.drawable.mylocation)));
并实现LocationSource.OnLocationChangedListener:
public void onLocationChanged (Location location) {
myLocationPin.position(new LatLng(location.latitude, location.longitude));
}
但我对这种方法有两个问题:
- 我不知道如何关闭标记
- 我不知道如果我替换默认的
LocationSource,实现我自己的onLocationListener是否会破坏任何标准功能。在上面找不到任何文档或源代码。
【问题讨论】:
-
如果您不想要额外的标记功能,也可以使用
GroundOverlay,并使用onMapClick()回调。
标签: android google-maps geolocation listener