我可以到附近的地方但是,我如何在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);
}
});
}
提前致谢
答案 0 :(得分:0)
Android的Map API非常缺乏。您需要为叠加层提供自己的drawable。如果你觉得懒惰,你可以从谷歌地图应用程序中提取它们;)为此,只需从手机文件浏览器中找到地图apk / System / app /并将其复制到SD卡。然后在计算机上将扩展名从apk更改为zip并且您将能够提取漂亮的叠加图标。
虽然我必须说你应该用它们作为指导来创建你自己的,因为这些是谷歌的IP。
希望它有所帮助。