要避免Android自动缩放地图,可以使用以下代码示例中的方法:
import com.google.android.gms.maps.CameraUpdateFactory;
import com.google.android.gms.maps.GoogleMap;
import com.google.android.gms.maps.MapView;
import com.google.android.gms.maps.OnMapReadyCallback;
import com.google.android.gms.maps.model.LatLng;
import com.google.android.gms.maps.model.LatLngBounds;
public class MainActivity extends AppCompatActivity implements OnMapReadyCallback {
private MapView mapView;
private GoogleMap googleMap;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mapView = findViewById(R.id.mapView);
mapView.onCreate(savedInstanceState);
mapView.getMapAsync(this);
}
@Override
public void onMapReady(GoogleMap googleMap) {
this.googleMap = googleMap;
// 设置最小和最大缩放级别
googleMap.setMinZoomPreference(10.0f);
googleMap.setMaxZoomPreference(18.0f);
// 移动地图到指定位置
LatLng location = new LatLng(37.7749, -122.4194);
googleMap.moveCamera(CameraUpdateFactory.newLatLng(location));
}
@Override
public void onResume() {
super.onResume();
mapView.onResume();
}
@Override
public void onPause() {
super.onPause();
mapView.onPause();
}
@Override
public void onDestroy() {
super.onDestroy();
mapView.onDestroy();
}
@Override
public void onLowMemory() {
super.onLowMemory();
mapView.onLowMemory();
}
}
在上述代码中,我们通过setMinZoomPreference()
和setMaxZoomPreference()
方法设置了地图的最小和最大缩放级别。可以根据需要调整这两个值。
AndroidManifest.xml
文件中添加地图权限:
确保已在AndroidManifest.xml
文件中添加了Google地图API密钥。