我正在嘗試在地圖活動上創建一個“選擇位置”(就像谷歌地圖應用程序中的那個,在選擇方向的起點時)?;旧希以诘貓D的中心放了一個標記,然后在相機移動時重新定位它。問題是標記不能順利移動(它口吃)。我嘗試了一些關于堆棧溢出的解決方案,但沒有一個有效。我的代碼是這樣的: getGoogleMap().moveCamera(CameraUpdateFactory.newLatLngZoom( new LatLng(location.getLatitude(), location.getLongitude()), 14)); LatLng target = getGoogleMap().getCameraPosition().target; chooseMarker = getGoogleMap().addMarker(new MarkerOptions() .position(target)); getGoogleMap().setOnCameraMoveListener(new GoogleMap.OnCameraMoveListener() { @Override public void onCameraMove() { // Get the center of the Map. LatLng centerOfMap = getGoogleMap().getCameraPosition().target; // Update your Marker's position to the center of the Map. chooseMarker.setPosition(centerOfMap); } });
1 回答

有只小跳蛙
TA貢獻1824條經驗 獲得超8個贊
如果我正確理解了您的問題,您希望用戶使用跟隨相機位置的標記來選擇位置。另外,您希望標記始終位于谷歌地圖的中心。在這種情況下,您可以使用一個簡單的技巧。在包含 Google 地圖的布局頂部添加一個視圖,并使其不可見(從工程資產中分配相應的圖標)。每當用戶想要選擇一個位置時,請使其可見(它應該位于Google地圖布局的中心)。由于我們可以訪問地圖的中心,因此一旦用戶對位置感到滿意并提交下一個操作,我們就可以繼續使用地圖中心的位置。在過程結束時,使“標記”不可見。
盡管還有其他解決方案,但這可能非常簡單有效。
添加回答
舉報
0/150
提交
取消