Android Google Maps V2更改我的位置图标

我在我的应用程序中为用户的当前位置使用了一个自定义图标,并且希望在升级到新的Google地图库时保持这种状态。

使用Google Maps v1库,我扩展了MyLocationOverlay并覆盖了drawMyLocation方法,在那里绘制自定义图标。

GoogleMap使用setMyLocationEnabled方法启用当前位置,但据我所知,无法对其进行自定义。

有没有人知道如何在V2上做到这一点?

Solutions Collecting From Web of "Android Google Maps V2更改我的位置图标"

在使用自定义图标的地图构造函数中创build一个标记。

_myLocation = mMap.addMarker(new MarkerOptions() .position(MAP_CENTER) .title("My Location") .icon(BitmapDescriptorFactory.fromResource(R.drawable.mylocation))); 

实施位置更改监听器, https://developers.google.com/maps/documentation/android/reference/com/google/android/gms/maps/LocationSource.OnLocationChangedListener

提供者被调用时更新标记位置:

 public void onLocationChanged (Location location) { _myLocation.position(location); //May have to convert from location to LatLng } 

好吧,我只是想,如果你不添加标题或代码片段,标记将不会对点击事件有影响,它充当图像叠加。 尽pipe这不是完美的,但它适合我的需求

 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)));