2012-03-23 66 views
0

我能夠獲得附近的地方,但是,如何在我的mapView中繪製地點?我是否需要獲取lat和lng並自己繪製它們(ItemizedOverlay等)?如果是的話,我應該怎麼做圖標?因爲我不能使用drawable,它只是一個URL。在MapView中從地點api中獲取地點

我用這個方法來檢索的地點清單:

public void performSearch() throws IOException { 
    HttpRequestFactory httpRequestFactory = createRequestFactory(transport); 
    HttpRequest request = httpRequestFactory.buildGetRequest(new GenericUrl(PLACES_SEARCH_URL)); 

    request.getUrl().put("key", API_KEY); 
    request.getUrl().put("location", lat + "," + lng); 
    request.getUrl().put("radius", 100); 
    request.getUrl().put("types", "pharmacy|hospital"); 
    request.getUrl().put("sensor", "false");   

    PlacesList places = request.execute().parseAs(PlacesList.class); 

    for (Place place : places.results) { 
     System.out.println(place.name + " - " + place.icon); 
    } 
} 

public static HttpRequestFactory createRequestFactory(final HttpTransport transport) { 
    return transport.createRequestFactory(new HttpRequestInitializer() { 
     public void initialize(HttpRequest request) { 
      GoogleHeaders headers = new GoogleHeaders(); 
      headers.setApplicationName("The Day After"); 
      request.setHeaders(headers); 
      JsonHttpParser parser = new JsonHttpParser(new JacksonFactory()); 
      request.addParser(parser); 
     } 
    }); 
} 

在此先感謝

回答

0

Android的地圖API是相當缺乏。您需要爲疊加層提供您自己的drawable。如果你覺得懶惰,你可以從谷歌地圖應用程序中提取它們;)爲此,只需在電話文件瀏覽器中找到maps/system/app /中的地圖apk並將其複製到SD卡即可。然後在計算機上將擴展名從apk更改爲zip,您將能夠提取漂亮的覆蓋圖標。

雖然我必須說,你應該使用它們作爲指導來創建你自己的,因爲這些是來自Google的IP。

希望它有幫助。

+0

謝謝Pablisco的信息! – pindleskin 2012-03-24 14:57:14

相關問題