17

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

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

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

有人知道如何在 v2 上完成此操作吗?

4

3 回答 3

14

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

_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

调用 Provider 时更新标记位置:

public void onLocationChanged (Location location)
{
    _myLocation.position(location); //May have to convert from location to LatLng
}
于 2012-12-13T06:56:57.540 回答
5

好的,所以我只是想如果你不添加标题或片段,标记将不会对点击事件产生影响,它会充当图像叠加层。虽然不完美,但很符合我的需求

private Marker marker = mMap.addMarker(new MarkerOptions()
                    .position( latLng)
                    .icon(BitmapDescriptorFactory.fromResource(R.drawable.arrow)));

谢谢大家

于 2013-01-03T02:27:17.770 回答
0

肯定有一种方法可以在当前位置显示自定义图标。结帐链接,您将获得更多想法来自定义地图上的图标。

试试下面的代码:

 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)));
于 2012-12-21T08:51:44.937 回答