如何使用地址打开Goog​​le地图?

时间:2012-04-03 05:25:39

标签: java android google-maps google-maps-urls

如何使用地址打开Goog​​le地图(使用Intents或将Google地图添加到我的应用程序中)?我有地址,但我没有纬度/经度。我该怎么做?谢谢。

8 个答案:

答案 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")) 开始活动(意图)