我正在尝试替换我的应用程序 map 上的蓝点。
我的 Intent 是显示一个图标形的平面,而不是通常的蓝色圆点。
我实现了这一点,它的工作原理如下:
//...
GoogleMap.OnMyLocationChangeListener myLocationChangeListener = new GoogleMap.OnMyLocationChangeListener() {
@Override
public void onMyLocationChange(Location location) {
LatLng loc = new LatLng(location.getLatitude(), location.getLongitude());
try{
myPositionMarker.remove();
} catch (Exception e){
//..
}
myPositionMarker = mMap.addMarker(new MarkerOptions()
.flat(true)
.icon(BitmapDescriptorFactory
.fromResource(R.drawable.plane))
.anchor(0.5f, 0.5f)
.position(
new LatLng(location.getLatitude(), location
.getLongitude())));
//...
}
就像我说的那样,这很好,但是现在我看到了我的图标和一个蓝点:
我已经尝试了许多方法来执行此操作,但是找不到任何有效的方法。
有许多删除按钮“我的位置”的示例,但我不想删除它。
我要删除蓝点。
感谢您的帮助。
在此先感谢和问候
*更新:
响应@tyczj的评论,我将删除位置按钮,如下所示:
mMap.setMyLocationEnabled(true);
mMap.getUiSettings().setMyLocationButtonEnabled(false);
因此,我的位置按钮不可见,但是蓝点可见。
将两个 bool 值更改为false,然后将不再起作用。没有蓝点,但没有位置更新。
我有点困惑。我究竟做错了什么?
谢谢
最佳答案
如果您想拥有“google's go-to-my-location-button”,则必须拥有“google's blue dot”。如果您不希望“谷歌的蓝点”,那么您也将没有“谷歌的转到我的位置”按钮,因此您必须自己实现。只需添加requestLocationUpdates (GoogleApiClient client, LocationRequest request, LocationListener listener)即可跟踪用户位置,然后在 map 顶部添加自定义的“go-to-my-location-button”。