到目前为止,我正在使用移动设备上的谷歌地图测试我的地图应用。
因为我想从我添加此代码的特定位置开始:
@Override
public void onMapReady(GoogleMap gMap) {
googleMap = gMap;
gMap.setMapType(GoogleMap.MAP_TYPE_SATELLITE);
CameraUpdate center =
CameraUpdateFactory.newLatLng(SKG_VIEW);
CameraUpdate zoom = CameraUpdateFactory.zoomTo(11);
gMap.moveCamera(center);
gMap.animateCamera(zoom);
其中SKG_VIEW是我在代码中定义的LatLng。
当我在平板电脑上测试相同的代码时,中心远离我定义的那个。
我可以做些什么来解决这个问题?我甚至不理解这个问题的根源。
答案 0 :(得分:1)
将相机移动到特定位置并按顺序更改缩放在某些设备上不起作用,并且不是正确的方法。
这样做的正确方法是使用CameraPosition
创建CameraPosition.Builder
,在Buider上设置位置和缩放级别(以及方位和倾斜......),然后构建它(见read the documentation)。
在您的情况下,您可以这样做:
CameraPosition cameraPosition = new CameraPosition.Builder()
.target(SKG_VIEW)
.zoom(11)
.build();
gMap.animateCamera(CameraUpdateFactory.newCameraPosition(cameraPosition));