我在我的应用程序中使用自定义图标作为用户的当前位置,并希望在升级到新的Google地图库时保持这种方式。
使用Google Maps v1库,我扩展了MyLocationOverlay并覆盖了drawMyLocation方法以在那里绘制我的自定义图标。
GoogleMap使用setMyLocationEnabled方法启用当前位置,但据我所知,无法自定义它。
有人知道如何在v2上完成此任务吗?
答案 0 :(得分:13)
在地图构造函数中使用自定义图标创建标记。
_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
}
答案 1 :(得分:3)
好的,所以我想,如果你不添加标题或片段,标记就不会对点击事件产生影响,它就像一个图像叠加层。虽然它并不完美,但它符合我的需求
private Marker marker = mMap.addMarker(new MarkerOptions()
.position( latLng)
.icon(BitmapDescriptorFactory.fromResource(R.drawable.arrow)));
谢谢大家
答案 2 :(得分:0)
绝对有办法在当前位置显示自定义图标。 结帐Link您可以更好地在地图上自定义图标。
试试以下代码:
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)));