对于新的 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));
}
但是我对这种方法有两个问题:
- 我不知道如何关闭标记
- 我不知道
onLocationListener
如果我替换默认的LocationSource
. 在上面找不到任何文档或源代码。