【问题标题】:how to pass parameters to a URL and get the generated image如何将参数传递给 URL 并获取生成的图像
【发布时间】:2010-06-03 06:32:22
【问题描述】:

我想向这个 url 传递几个参数并从中生成地图并在我的 java 应用程序中显示它。我知道下载图像并将其显示在 java 应用程序中的代码。我想知道怎么给这个地址传参数:

http://maps.google.com/maps/api/staticmap?center=Nugegoda&zoom=14&size=1000x312&maptype=roadmap&markers=color:blue|label:S|size=tiny|Mirihana&markers=size:mid|color:0xFFFF00|label:C|Udahamulla&sensor=false

在此链接中,我应该从应用程序中传递 Nugegoda 和 Mirihana 和 Udahamulla。然后它会生成一个图像,我确实需要显示它。即使你检查这个链接。这是一个图像。

有人可以帮我吗?

【问题讨论】:

  • 我没有完全理解你的问题。你要传递什么样的参数?

标签: java google-maps google-static-maps


【解决方案1】:

如果您将有效地址传递给center 参数,Static Maps API 可以为您执行geocoding

https://maps.google.com/maps/api/staticmap?center=Nugegoda&zoom=14&size=400x400&sensor=false

你可以传递的参数都是listed here。与 URL 中的标准一样,所有参数都使用 & 符号 & 字符分隔。因此,如果您想添加maptype 参数并将其设置为hybrid,您只需将&maptype=hybrid 添加到上述网址即可:

https://maps.google.com/maps/api/staticmap?center=Nugegoda&zoom=14&size=400x400&sensor=false&maptype=hybrid

然后,如果您想显示 Udahamulla 地图,只需将 Nugegoda 替换为 Udahamulla 用于 center 参数:

https://maps.google.com/maps/api/staticmap?center=Udahamulla&zoom=14&size=400x400&sensor=false


更新:

除了下面的 cmets,您还可以使用 path 参数在静态地图上添加折线,如下所示:

https://maps.google.com/maps/api/staticmap?center=Udahamulla&zoom=13&size=400x400&path=color:0xff0000ff|weight:5|Maharagama|Nugegoda&sensor=false

请注意 API 如何对地址“Maharagama”和“Nugegoda”进行地理编码,因此您无需传递地区的纬度和经度坐标。

目前静态地图 API 不提供行车路线。但是,如果您有复杂路线的点,您可以plot the path as an encoded polyline

【讨论】:

  • 我确实需要添加一条路线,例如从目的地到位置的突出显示线。可能吗。你能帮忙吗
  • @Nubkadiya:更新了我的答案。
【解决方案2】:

您可以使用Google Static Maps API。如果你纯粹想插入变量,你可以这样做:

String center = ...;
String labelS = ...;
String labelC = ...;

String url = "http://maps.google.com/maps/api/staticmap?center=" 
+ center 
+ "&zoom=14&size=1000x312&maptype=roadmap&markers=color:blue|label:S|size=tiny|" 
+ labelS 
+ "&markers=size:mid|color:0xFFFF00|label:C|" + labelC + "&sensor=false";

【讨论】:

  • 我认为 OP 是。提供的 URL 来自静态地图 API。
  • 确实,OP 正在使用静态地图 API。在我看来,OP 只是想知道他(她?)如何在 URL 中插入变量部分(城市名称),因此在字符串中进行变量替换。
  • @jschulenklopper:也许你是对的......字符串连接似乎太容易(显然)成为真正的问题:)
【解决方案3】:

您的问题是“我如何构造一个包含一些可变部分的字符串?”在您的应用程序中构建 URL 字符串时,它“只是”一个字符串。您可以连接不同的部分,或使用格式化打印。 (见format。)

(给定的 URL 已经有许多参数:问号后面的每一对都是变量名和值。)

【讨论】:

  • 我确实需要添加一条路线,例如从目的地到位置的突出显示线。可能吗。你能帮忙吗
猜你喜欢
  • 1970-01-01
  • 2015-10-08
  • 1970-01-01
  • 2013-06-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-12-13
相关资源
最近更新 更多