【发布时间】:2012-04-21 15:20:37
【问题描述】:
我在我的项目中使用了openstreetmap,之前我在这个项目中使用了谷歌地图,但是请求限制低于我的客户需要的,他负担不起谷歌为增加请求限制而采取的措施,所以我不得不切换到openstreetmap,我在openstreetmap文档中搜索了很多,但没有得到如何从地图外的链接打开标记的线索,你能帮我解决这个问题吗?这对我有很大的帮助。
提前致谢
嘿,我自己解决了,这是从地图外打开标记弹出的代码。
函数 openMarker(id,lon,lat,html) { jQuery(".olPopup").remove(); marklonLat = new OpenLayers.LonLat(lon,lat) 。转变( new OpenLayers.Projection("EPSG:4326"), // 从 WGS 1984 转换 map.getProjectionObject() // 到球形墨卡托投影 ); var size = new OpenLayers.Size(200,200); popup = new OpenLayers.Popup(id,marklonLat,size,html,true,'' , {keepInMap: true }); map.addPopup(弹出); }jQuery(".olPopup").remove(); -- 这将在你之前关闭地图上的所有弹出窗口 打开一个新的弹出窗口
html -- 这是弹出窗口中的内容
【问题讨论】:
-
openstreetmap 只是数据。您必须使用其他东西来绘制地图,例如 OpenLayers 或 Leaflet 之类的 Web 制图框架。哪一个?尽量不要将数据与映射框架混淆。借助 Google 的地图,数据和地图框架非常紧密地耦合在一起。
-
我正在使用 OpenLayers 绘制地图...
-
所以现在重写你的问题。您想要一个链接(HTML A 标记?),当人们单击它时,它会在地图上的某个位置(决定如何?)显示一个标记?是这样吗?
-
嘿,我自己解决了,感谢您有兴趣帮助我。
-
现在我想做一件以前从未做过的大事,这就是我正在做的事情,我在左侧显示人员列表,在右侧显示他们的地址在地图上,好的现在我想这样做,每当有人放大或缩小地图时,它会更新左侧的列表,它应该只显示左侧的人,这些人在地图上可见,所以这样一来,它总是会在左边显示用户在地图上可以看到的那些人。你认为它存在于 openLayer API 中吗?
标签: php javascript jquery map openstreetmap