如何使用地址打开Google地图(使用Intents或将Google地图添加到我的应用程序中)?我有地址,但我没有纬度/经度。我该怎么做?谢谢。
答案 0 :(得分:37)
使用下面的代码,
String map = "http://maps.google.co.in/maps?q=" + str_location;
//其中 str_location 是地址字符串
Intent i = new Intent(Intent.ACTION_VIEW, Uri.parse(map));
startActivity(i);
答案 1 :(得分:13)
来自我的个人代码库。 ;)
public static Intent viewOnMap(String address) {
return new Intent(Intent.ACTION_VIEW,
Uri.parse(String.format("geo:0,0?q=%s",
URLEncoder.encode(address))));
}
public static Intent viewOnMap(String lat, String lng) {
return new Intent(Intent.ACTION_VIEW,
Uri.parse(String.format("geo:%s,%s", lat, lng)));
}
答案 2 :(得分:1)
将此网址的粗体部分更改为您的公司地址。最好用续号(+)替换所有空格,但也应该使用空格: http://maps.google.com/maps/geo?q=的 620 +第八+大道+新+纽约,+ NY + 10018,+ USA 强>&安培;输出= CSV&安培; OE = UTF8&安培;传感器=假
向上述网址提出请求。有关更多信息,请参阅http://androidadvice.blogspot.in/2010/09/asynchronous-web-request.html
这将生成一个如下所示的代码:
200,8,40.7562008,-73.9903784
第一个数字200表示地址很好。第二个数字8表示地址的准确程度。最后两个数字40.7562008和-73.9903784是此地址的纬度和经度。使用这些来使您的谷歌地图工作。
注意:上述步骤已从http://webdesign.about.com/od/javascript/ss/add-google-maps-to-a-web-page_2.htm
复制过来答案 3 :(得分:0)
您可以使用Google地理编码API,将您的物理地址转换为纬度和经度。 API将其返回为XML或JSON格式。您只需要解析数据以获得纬度和经度。收到纬度和经度后,您可以将其加载到mapview上。
地理编码api链接:
https://developers.google.com/maps/documentation/geocoding/
希望这有帮助。
答案 4 :(得分:0)
截至2017年,Google推荐的方法是使用提供通用跨平台网址的Google Maps URLs API。您可以在意图中使用这些网址。
文档中此类URL的示例:
https://www.google.com/maps/search/?api=1&query=centurylink+field
希望这有帮助!
答案 5 :(得分:0)
聚会晚一点。我更喜欢@ st0le的答案,但是URLEncoder.encode(String s)
自API 16起已过时。您还需要传递第二个参数。检查下面的答案。
public static Intent viewOnMapA(String address) {
try {
return new Intent(Intent.ACTION_VIEW,
Uri.parse(String.format("geo:0,0?q=%s",
URLEncoder.encode(address, "UTF-8"))));
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
return null;
}
答案 6 :(得分:0)
String geoUri = "http://maps.google.com/maps?q=loc:" + addressName;
Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(geoUri));
context.startActivity(intent);
答案 7 :(得分:0)
来自当前文档 https://developers.google.com/maps/documentation/urls/get-started 最好使用 https://www.google.com/maps/dir/?api=1&query=address
所以:
val address = "某个地址"
val intent = Intent(Intent.ACTION_VIEW, Uri.parse("https://www.google.com/maps/dir/?api=1&query=$address"))
开始活动(意图)