如何将参数传递给URL并获取生成的图像

时间:2010-06-03 06:32:23

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

我想将几个参数传递给此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是我应该从申请中传递的那个。然后它会生成一个图像,我需要显示它。即使你检查这个链接。这是一张图片。

有人可以帮助我吗?

3 个答案:

答案 0 :(得分:4)

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

  

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

Nugegoda

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

  

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

Nugegoda

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

  

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

Udahamulla


<强>更新

除了以下评论之外,您还可以使用path参数在静态地图上添加折线,如下所示:

  

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

Maharagama to Nugegoda

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

目前,Static Maps API不会执行行车路线。但是,如果您拥有复杂路线的分数,则可以plot the path as an encoded polyline

答案 1 :(得分:3)

您可以使用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";

答案 2 :(得分:0)

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

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