【问题标题】:How to open a marker from outside the map in openstreetmap?如何在openstreetmap中从地图外部打开标记?
【发布时间】: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


【解决方案1】:

试试这个:

传递要在工具提示中显示的标记、经度、纬度和 html 的唯一 ID。

函数 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,strhtml,true,'' , {keepInMap: true }); map.addPopup(popup); }

【讨论】:

    猜你喜欢
    • 2013-12-31
    • 1970-01-01
    • 2014-07-08
    • 2013-08-16
    • 1970-01-01
    • 2018-02-10
    • 2016-07-24
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多