2014-06-05 103 views
2

enter image description here實現Android的谷歌地圖搜索功能V2

我想要實現搜索的國家/國家/城市或在我的Android地圖應用附近的地方,我知道這個問題已經被問here但認爲提高它再一次,因爲我仍然努力尋找任何優雅的解決方案在SO.我也提到this後,但閱讀一些意見後,我失去了希望。所以,如果任何人已經實現了Android的位置API?

回答

2

直接的方法是使用Google Geocoding API。你可以用

https://maps.googleapis.com/maps/api/geocode/json?address=1600+Amphitheatre+Parkway,+Mountain+View,+CA

這將返回與該地址的位置數據,包括經緯度JSON訪問它。下面是一些代碼片斷從我做了什麼:

   try{ 
        JSONConnectorGet jget=new JSONConnectorGet(url); 
        returnval=jget.connectClient(); 
        results=returnval.getJSONArray("results"); 
        resultobj=results.getJSONObject(0); 
        System.out.println(resultobj.toString()); 
        geometry=resultobj.getJSONObject("geometry"); 
        location=geometry.getJSONObject("location"); 


        lati=location.getDouble("lat"); 
        longi=location.getDouble("lng"); 

       } 
       catch(Exception e){ 
        e.printStackTrace(); 
       } 

       a=new LatLng(lati, longi); 

這裏JSONConnectorGet是一類我寫的,可以用來發送HttpGet請求和接收回JSONObjectreturnval是我聲明的JSONObjecturl是上面給出的URL,其地址替換爲搜索到的任何地址。

然後,您必須從JSONObject中提取LatLng。我使用的JSONObjectsJSONArrays在try-catch塊之外聲明。現在我在a有我的搜索位置的經度和緯度。

現在我只需將相機移動到該位置即可。

eventmap.animateCamera(CameraUpdateFactory.newLatLngZoom(a, 3.0f)); 

您可以在該LatLng添加標記,以及如果你想要的。