我正试图像这样控制谷歌地图相机
private void setUpMap() {
Log.e(LOG_TAG, "in setup method");
mMap.setMyLocationEnabled(true);
LatLng startingPoint = new LatLng(129.13381, 129.10372);
mMap.moveCamera(CameraUpdateFactory.newLatLngZoom(startingPoint, 16));
Log.e(LOG_TAG, "in Setup method" + (mMapFragment == null));
}
LogCat打印
“在设置方法中”
“在setup方法中为false”
显示2个日志,表示mMap.moveCamera(...)
被称为
setUpMap()
来自此处
private void setUpMapIfNeeded() {
mMapFragment = (SupportMapFragment) getSupportFragmentManager().findFragmentByTag(MFragment.TAG);
if (mMapFragment != null) {
mMapFragment.getMapAsync(new OnMapReadyCallback() {
@Override
public void onMapReady(GoogleMap googleMap) {
mMap = googleMap;
setUpMap();
}
});
}
}
答案 0 :(得分:5)
试试这个:希望它能奏效。
private void setUpMap() {
Log.e(LOG_TAG, "in setup method");
mMap.setMyLocationEnabled(true);
CameraPosition cameraPosition = new CameraPosition.Builder()
.target(new LatLng(latitude, longitude)).zoom(15).build();
mMap.animateCamera(CameraUpdateFactory
.newCameraPosition(cameraPosition));
Log.e(LOG_TAG, "in Setup method" + (mMapFragment == null));
}
答案 1 :(得分:2)
LatLng startingPoint = new LatLng(129.13381, 129.10372);
指定的坐标似乎有点偏差。更详细地说,最大纬度是90度,即北极(-90是南极)。
这样做的结果是相机不会移动到无效的位置。
尝试使用已知位置的坐标,例如LatLng startingPoint = new LatLng(55.70, 13.19);
,它将为您提供瑞典隆德的位置。
所以基本上,修改你位置的纬度和经度坐标。