2012-03-23 69 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

相关问题