我在我的项目中使用openstreetmap,之前我在这个项目中使用谷歌地图,但请求限制低于我的客户的需求,他无法承担谷歌增加请求限制所需的费用,所以我不得不切换到openstreetmap,我在 openstreetmap 文档中搜索了很多,但没有得到如何从 map 外部的链接打开标记的线索,你能帮我解决这个问题吗?这对我来说将是一个巨大的帮助。
提前致谢
嘿,我自己解决了这个问题,这是从 map 外部打开标记弹出窗口的代码。
function openMarker(id,lon,lat,html) { jQuery(".olPopup").remove(); marklonLat = new OpenLayers.LonLat(lon,lat) .transform( new OpenLayers.Projection("EPSG:4326"), // transform from WGS 1984 map.getProjectionObject() // to Spherical Mercator Projection ); var size = new OpenLayers.Size(200,200); popup = new OpenLayers.Popup(id,marklonLat,size,html,true,'' , {keepInMap: true }); map.addPopup(popup); }
jQuery(".olPopup").remove(); -- 这将在您之前关闭 map 上的所有弹出窗口 打开一个新的弹出窗口
html——这是弹出窗口中的内容
最佳答案
试试这个:
传递要在工具提示中显示的标记的唯一 ID、经度、纬度和 html。
function openMarker(id,lon,lat,html)
{
jQuery(".olPopup").remove();
marklonLat = new OpenLayers.LonLat(lon,lat)
.transform(
new OpenLayers.Projection("EPSG:4326"), // transform from WGS 1984
map.getProjectionObject() // to Spherical Mercator Projection
);
var size = new OpenLayers.Size(200,200);
popup = new OpenLayers.Popup(id,marklonLat,size,strhtml,true,'' , {keepInMap: true });
map.addPopup(popup);
}
关于php - 如何在 openstreetmap 中从 map 外部打开标记?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10070045/