0

我可以找到附近的地方,但是如何在我的 mapView 中绘制这些地方?我是否需要获取 lat 和 lng 并自己绘制它们(ItemizedOverlay 等)?如果是这样,我应该如何处理该图标?因为我不能使用drawable,它只是一个URL。

我使用这种方法来检索地点列表:

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);
        }
    });
}

提前致谢

4

1 回答 1

0

Android 的 Map API 相当缺乏。您需要为叠加层提供自己的可绘制对象。如果你觉得懒惰,你可以从谷歌地图应用程序中提取它们;)为此,只需从手机文件浏览器中找到 /System/app/ 中的地图 apk 并将其复制到 sd 卡。然后在计算机上将扩展名从 apk 更改为 zip,您将能够提取漂亮的覆盖图标。

尽管我必须说您应该将它们用作创建自己的指南,因为它们是来自 Google 的 IP。

希望能帮助到你。

于 2012-03-24T02:25:02.013 回答