我找不到通过数据库在静态谷歌地图上创建叠加层的方法。我可以轻松地实现单个标记(位置)。下面是代码:
int mapID = Convert.ToInt16(hdnMapID.Value); SqlDataReader dr = Maps.GetMapPointsByMapIDUserID(mapID,userID);
string latitude = "53.615143";
string longitude = "-1.711380";
string center = "" + latitude + "," + longitude + "";
string zoom = "20";
string size = "512x512";
string maptype = "roadmap";
while (dr.Read())
{
map2.ImageUrl = "http://maps.google.com/maps/api/staticmap?center=" + center + "&zoom=" + zoom + " &size=" + size + "&maptype=" + maptype + "&markers=color:blue|label:S|" + dr["lat"] + ", " + dr["lng"] + "&sensor=true";
}
cnt++;
}
dr.Dispose();
在上面的网址中,单个位置很容易传递标记值(颜色:蓝色|标签:S |“+ dr [”lat“] +”,“+ dr [”lng“] +),但是在我的项目中,我有多个位置,我无法找到为多个位置创建不同网址的方法,例如,如果有两个位置,上面的网址中将有2个标记,我如何根据数字创建编程的谷歌静态网址地图中存在的标记(叠加)。
任何教程或帮助都将受到高度赞赏
答案 0 :(得分:1)
M'vy的第1号文章
确定。我想我明白了。所以我编辑答案以使用代码片段。
以下代码必须用于 ONE mapId
int mapID = Convert.ToInt16(hdnMapID.Value);
/* I suppose this executes the following SQL query :
* SELECT lat, lng FROM Table WHERE mapID = :mapID;
*/
SqlDataReader dr = Maps.GetMapPointsByMapIDUserID(mapID, userID);
string latitude = "53.615143";
string longitude = "-1.711380";
string center = "" + latitude + "," + longitude + "";
string zoom = "20";
string size = "512x512";
string maptype = "roadmap";
/* This is the basic link, with no markers */
string URLStart = "http://maps.google.com/maps/api/staticmap?center=" +
center + "&zoom=" + zoom + " &size=" + size + "&maptype=" + maptype + "&sensor=true";
string markersStr = "";
/* Each record we will read correspond to one point on the map:
* NB you don't need the markerID
* We add each point long and lat to the string */
while (dr.Read()) {
markersStr += "&markers=color:blue|label:S|" + dr["lat"] + ", " + dr["lng"] + ;
}
map2.ImageUrl = URLStart + markersStr;
dr.Dispose();
//Then display the map with the URL that has all the point for mapId
markerId
没用。您可以使用轻松计算值
SELECT COUNT(*)FROM表WHERE mapID = 581;
第一篇文章
Hello Muhammad,
您可以在Google Map Static API here
中找到答案对于多个标记,您只需重复URL中的markers参数即可。
您可以选择其他颜色,名称等。只需添加新的&markers=<blah blah>
M'vy
答案 1 :(得分:0)
要创建静态地图网址,您可以使用此开源项目 - http://code.google.com/p/google-maps/