我正在尝试在asp.net中生成gmap图像。我需要指定不同的纬度和经度,并使用折线生成谷歌地图图像。到目前为止,我能够使用以下代码创建图像:
protected void btnMap_Click(object sender, EventArgs e)
{
Save_Image("http://maps.google.com/maps/api/staticmap?center=Brooklyn+Bridge,New+York,NY&zoom=14&size=512x512&maptype=roadmap&markers=color:blue|label:S|40.702147,-74.015794&markers=color:green|label:G|40.711614,-74.012318&markers=color:red|color:red|label:C|40.718217,-73.998284&sensor=false");
}
private void Save_Image(string URL)
{
WebClient client = new WebClient();
string strFileName = DateTime.Now.GetHashCode().ToString() + ".png";
client.DownloadFile(URL, Server.MapPath("~/images/" + strFileName));
imgGmap.ImageUrl = "~/images/" + strFileName;
}
我无法找到在此网址中传递经度和纬度的方法。我已经检查了this博客正在做同样的事情,但我没有找到使用此演示生成图像的方法。
答案 0 :(得分:1)
根据the documentation,您应该可以指定折线的路径,如下所示:
路径=彩色:0x0000ff |重量:5 | 40.737102,-73.990318 | 40.749825,-73.987963 | 40.752946,-73.987384 | 40.755823,-73.986397
e.g。
http://maps.google.com/maps/api/staticmap?center=Brooklyn+Bridge,New+York,NY&zoom=14&size=512x512&maptype=roadmap&markers=color:blue|label:S|40.702147,-74.015794&markers=color:green|label:G|40.711614,-74.012318&markers=color:red|color:red|label:C|40.718217,-73.998284&sensor=false&path=color:0x0000ff|weight:5|40.702147,-74.015794|40.711614,-74.012318|40.718217,-73.998284
或者,您可以使用encoded polyline格式(对缩短网址非常有用)。
你可以指定:
&安培;路径=重量:3%7Ccolor:橙%7Cenc:的 polyline_data 强>
要获取polyline_data,您可以在此处使用在线表单: https://developers.google.com/maps/documentation/utilities/polylineutility
或者根据此处的规范编写算法: https://developers.google.com/maps/documentation/utilities/polylinealgorithm