我正在尝试使用此
覆盖SupportMapFragment上的setOnMyLocationChangeListenermap.setOnMyLocationChangeListener(new GoogleMap.OnMyLocationChangeListener() {
@Override
public void onMyLocationChange(Location location) {
LatLng you = new LatLng(location.getLatitude(), location.getLongitude());
float distanceTo = location.distanceTo(venueLocation);
String miles = metersToMiles(distanceTo);
dist.setText(miles + " miles away");
LatLngBounds.Builder builder = new LatLngBounds.Builder();
map.clear();
map.addMarker(new MarkerOptions()
.position(venue)
.title(centerName)
.icon(BitmapDescriptorFactory
.fromResource(R.drawable.fu_map_marker)));
map.addMarker(new MarkerOptions()
.title("You are here")
.position(you));
builder.include(venue);
builder.include(you);
LatLngBounds bounds = builder.build();
map.animateCamera(CameraUpdateFactory.newLatLngBounds(bounds, 75));
}
});
然而,在相机使用LatLngBounds进行动画制作之前,它会自动缩放到用户位置并添加蓝点。无论如何我可以禁用它吗?
答案 0 :(得分:1)
这样做是因为您启用了“我的位置”图层。你可以通过
禁用它map.setMyLocationEnabled(false);
也不推荐以这种方式监听位置更改。有一个新的Location api,其中包含最新版本的Google Play服务,可以提供相同的功能,减少电池使用量。