【问题标题】:Google Maps v2 - Intent URI ArgumentsGoogle Maps v2 - Intent URI 参数
【发布时间】:2013-09-18 20:23:32
【问题描述】:

我正在通过 Intent 启动内置地图应用程序 (7.1.0),但是我发送的请求 URL 似乎都没有工作。

我想知道 url/uri 参数的正确语法是什么。

我以为这是一个静态地图请求,但内置地图应用程序不是静态地图,这可能是它们不起作用的原因。

旧式 v1 请求字符串也不起作用。

从 v2 开始,甚至可以通过 url/uri 意图参数向地图应用发送请求吗?

任何帮助或提示将不胜感激(我只想使用内置的地图应用程序,并且觉得我不应该实现自己的 MapActivity/Fragment,因为我没有做任何花哨的事情,只是一个简单的情节)。

这是触发地图的代码:

//string url = "http://maps.googleapis.com/maps/api/staticmap?geo:50.95144,6.98725?q=50.95144,6.98725%20(Disneyland)&zoom=13&size=600x300&sensor=true";
//string url = "http://maps.googleapis.com/maps/api/staticmap?center=Brooklyn+Bridge,New+York,NY&zoom=13&size=600x300&sensor=true";
string url = "http://maps.googleapis.com/maps/api?center=Brooklyn+Bridge,New+York,NY";

Uri uri = Uri.Parse( url );

Intent intent = new Intent(Android.Content.Intent.ActionView, Uri.Parse(url));

intent.SetClassName("com.google.android.apps.maps", "com.google.android.maps.MapsActivity");

StartActivityForResult(intent, 0);

谢谢。

【问题讨论】:

  • 字符串 url = "geo:0,0?q=0,0";有效,所以我想我不需要方案和服务器地址,只需要查询参数。
  • 建议您摆脱setClassName()
  • @CommonsWare 是 setClassName 贬值(可以这么说)?我在这里使用它来提示操作系统应该为哪个应用程序提供服务。 Android 到底如何才能用如此有限的信息推断出正确的应用程序(即 uri 请求“geo:0,0?q=0,0”(没有 tho 也可以工作))??
  • “我在此处用作向操作系统提示应由哪个应用程序处理请求的提示”- 任何使用 setClassName() 都是严重的代码异味,应尽可能避免,因为它会使您的应用程序变得脆弱且对用户不利。 “在世界上,Android 怎么能用如此有限的信息推断出正确的应用程序(即 uri 请求“geo:0,0?q=0,0”?”——就像它可以“推断出正确的应用程序”一样) http等方案。developer.android.com/guide/components/intents-filters.html
  • @CommonsWare 非常感谢您的洞察力......我没有意识到“geo”是一个计划,但现在我明白了,它的“geo:”不是“geo =”......我想这是一个参数!

标签: android google-maps android-intent google-maps-api-2


【解决方案1】:

只需指定查询参数及其值,省略uri方案 (http://)、服务器名称(maps. googleapis.com) 和资源路径 (/maps/api)。

但是,中心参数似乎不起作用(无论如何对我来说)

string url = "center=Brooklyn+Bridge,New+York,NY"

作为一种变通方法,我将 geo 和 q 参数一起使用

string url = "geo:0,0?q=Brooklyn+Bridge,New+York,NY";

string url = "http://maps.google.com/maps?q=new+york";

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-07-09
    • 2013-03-24
    • 2023-04-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多