我想在地圖上設置用戶位置,使其位於屏幕底部的1/3左右,當地圖旋轉時,它將繞此旋轉點。更改Google地圖偏移中心
最近我要實現這一點是通過使用setPadding()
方法,但是,這導致地圖旋轉時搖晃排序,作爲中心點的類型'浮動',它實際上應該在哪裏。它看起來很醜陋
int mapHeight = mapView.getHeight();
googleMap.setPadding(0, mapHeight/5, 0, 0);
有沒有更好的方式來做到這一點?
編輯:下面
我想在地圖上設置用戶位置,使其位於屏幕底部的1/3左右,當地圖旋轉時,它將繞此旋轉點。更改Google地圖偏移中心
最近我要實現這一點是通過使用setPadding()
方法,但是,這導致地圖旋轉時搖晃排序,作爲中心點的類型'浮動',它實際上應該在哪裏。它看起來很醜陋
int mapHeight = mapView.getHeight();
googleMap.setPadding(0, mapHeight/5, 0, 0);
有沒有更好的方式來做到這一點?
編輯:下面
在畫面解釋你需要,你可以調用這個地方,你想你不需要墊襯
變化MapPoint的X和Y值!可能是裏面的onLocationChanged
像changeOffsetCenter(location.getLatitude(),location.getLongitude());
public void changeOffsetCenter(double latitude,double longitude) {
Point mappoint = mGoogleMap.getProjection().toScreenLocation(new LatLng(latitude, longitude));
mappoint.set(mappoint.x, mappoint.y-100); // change these values as you need , just hard coded a value if you want you can give it based on a ratio like using DisplayMetrics as well
mGoogleMap.animateCamera(CameraUpdateFactory.newLatLng(mGoogleMap.getProjection().fromScreenLocation(mappoint)));
}
輸出:
也許這可以幫助你:http://stackoverflow.com/questions/41469392/lock-google-maps-on-users -location/41618422#41618422 –
我不明白這個答案將如何讓我鎖定用戶位置,而不是在地圖中心。 – Dportology
你可以更好地解釋你正在嘗試做什麼?也許一個圖像... –