我在我的应用程序中使用自定义图标表示用户当前的位置,想要在升级到新的Google Maps库时保持这种方式。
在Google Maps v1库中,我扩展了MyLocationOverlay并覆盖了drawMyLocation方法,在其中绘制了我的自定义图标。
GoogleMap使用setMyLocationEnabled方法启用当前位置,但据我所知,没有办法进行自定义。
有人知道如何在v2上实现这一点吗?
我在我的应用程序中使用自定义图标表示用户当前的位置,想要在升级到新的Google Maps库时保持这种方式。
在Google Maps v1库中,我扩展了MyLocationOverlay并覆盖了drawMyLocation方法,在其中绘制了我的自定义图标。
GoogleMap使用setMyLocationEnabled方法启用当前位置,但据我所知,没有办法进行自定义。
有人知道如何在v2上实现这一点吗?
_myLocation = mMap.addMarker(new MarkerOptions()
.position(MAP_CENTER)
.title("My Location")
.icon(BitmapDescriptorFactory.fromResource(R.drawable.mylocation)));
当提供者被调用时,更新标记的位置:
public void onLocationChanged (Location location)
{
_myLocation.position(location); //May have to convert from location to LatLng
}
好的,我刚刚发现如果您不添加标题或片段,标记将不会在点击事件上产生影响,而且它会作为图像覆盖层。虽然它并不完美,但它可以满足我的需求。
private Marker marker = mMap.addMarker(new MarkerOptions()
.position( latLng)
.icon(BitmapDescriptorFactory.fromResource(R.drawable.arrow)));
肯定有一种方法可以在当前位置显示自定义图标。 查看链接,您将获得更多关于如何在地图上自定义图标的想法。
尝试下面的代码:
private static final LatLng MELBOURNE = new LatLng(-37.81319, 144.96298);
private Marker melbourne = mMap.addMarker(new MarkerOptions()
.position(MELBOURNE)
.title("Melbourne")
.snippet("Population: 4,137,400")
.icon(BitmapDescriptorFactory.fromResource(R.drawable.arrow)));