在用户的位置上显示自定义标记

时间:2013-03-04 15:40:24

标签: android android-mapview android-overlay

我正在使用Google Maps v2 Android MapView。用户位置的标记是蓝色圆圈。我想将此更改为drawable

这可能吗?

我知道我可以添加这样的标记,但这并不适用于用户自己的位置:

this.marker = BitmapDescriptorFactory.fromResource(R.drawable.marker);
this.map.addMarker(new MarkerOptions().position(position).title(name)
                .draggable(false).icon(this.marker));

2 个答案:

答案 0 :(得分:0)

是的,您可以添加自定义标记以显示用户当前位置....但您需要使用locationListener计算自己的纬度和经度,并在地图上显示该位置,如下所示:

public void setCurretnLocMarker(loc) {

        LatLng mLatLng=new LatLng(loc.getLatitude(), loc.getLongitude());
        getMap().animateCamera(CameraUpdateFactory.newLatLng(mLatLng));

        getMap().addMarker(new MarkerOptions().position(mLatLng).title(mLatLng.toString()).draggable(false));
    }

答案 1 :(得分:0)

我想到的是那种方式。

1)你有当前位置的latlng ...添加带有自定义drawable的标记。 2)谷歌地图上的无效当前位置..  禁用它认为呼叫是

mGoogleMapObject.setLocationEnable(false);

多数民众赞成。