2015-04-15 31 views
0

在我正在開發的一個應用程序中,我必須顯示一個小地圖(以像素爲單位,它將爲250x250或類似的東西),以中心作爲用戶先前選擇的座標,片段的onCreateView我得到新的緯度和Lng,我在這一點上設置相機和標記,但地圖視圖不居中,因爲如果我將地圖向左拖動一點,我可以顯示標記,放置在正確的地點。將中心圖調整爲片段寬度

如何根據片段的寬度和高度將地圖置於新的Lat和Lng中心?

這是我用來居中地圖的代碼,在一個更大的視圖中,地圖中心是正確的,但是在一個較小的視圖中,中心稍微向右移動。

mapa.moveCamera(CameraUpdateFactory.newLatLngZoom(posMap, 11)); 

回答

0

也許只是將地圖居中到標記?這樣的:

map.setOnMapLoadedCallback(new GoogleMap.OnMapLoadedCallback() { 
       @Override 
       public void onMapLoaded() { 
        map.addMarker(new MarkerOptions().position(new LatLng(lat, lng)).title(markerTitle)); 
        map.moveCamera(CameraUpdateFactory.newLatLngZoom(new LatLng(lat, lng), 14)); 
        map.setMyLocationEnabled(true); 
       } 
      }); 

其中LATLNG分別爲您標記的經度和緯度的雙重價值。

+0

不,它和我的代碼一樣。有點向右移動。 – xmarston

+0

是否有可能發佈截圖?也許你在地圖上有某種疊加層,使其中的一部分不可見?在我們的一個應用程序中,我們遇到過類似的情況(基本上地圖是在擴展面板中),我們正在自行調整相機的偏移量。 – bartol

+0

沒關係,我找出了什麼問題,在LinearLayout中沒有正確設置片段,因此將適當的寬度,高度和重量添加到FrameLayout可以解決問題。不管怎麼說,還是要謝謝你! – xmarston