2014-02-09 99 views
5

我需要爲我的Android Google Map Api V2項目實現搜索功能,並且找不到任何工作示例。我只需要輸入一個城市名稱,按「搜索」按鈕,然後地圖應該移動到城市並在其上顯示一個標記。就像Google地圖應用程序一樣。 Autocompletion應該是不錯的。我實際上會顯示地圖,顯示一些標記等,但我無法執行搜索並查看結果。請幫忙!如何實現Google Map Api V2 Android的搜索功能?

在此先感謝

回答

6

我只需要輸入城市名稱,按下「搜索」按鈕,然後 地圖應該移動到城市,並顯示在它的標誌。就像Google地圖應用程序的 一樣。

所以對於你必須在你必須做如下的點擊搜索功能:

  • 用戶輸入城市名稱將被髮送到google api - 它 將會回到你身邊。
  • 您將使用該lat-long添加標記以及
  • 您將使用該lat-long來爲Gmaps Camara設置動畫。而已。
  • 通過這種方式,您可以滿足您的上述要求。
0

據我所看到的,在地圖移動到某一點是通過調用GoogleMap對象的moveCamera()方法完成:

GoogleMap map = ((MapFragment) getFragmentManager() 
      .findFragmentById(R.id.map)).getMap(); 

LatLng sydney = new LatLng(-33.867, 151.206); 

map.setMyLocationEnabled(true); 
map.moveCamera(CameraUpdateFactory.newLatLngZoom(sydney, 13)); 

this示例兩者。你可以看到,你需要經緯度座標來創建一個對象LatLng。我相信你可以使用谷歌地點搜索來獲得這些座標,使用http-requests。例如:

https://maps.googleapis.com/maps/api/place/textsearch/xml?query=restaurants+in+Sydney&sensor=true&key=AddYourOwnKeyHere 

here

採取哪些應該返回JSON數據爲您服務。

對於自動完成,看this鏈接

編輯:佬,地點搜索將返回的XML,可以嘗試使用JSON ...查詢= ...而不是