1

我在我的项目中使用了openstreetmap,之前我在这个项目中使用了google map,但是请求限制低于我的客户需要的,他负担不起google增加请求限制的费用,所以我不得不切换到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 - 这是弹出窗口中的内容

4

1 回答 1

0

试试这个:

传递要在工具提示中显示的标记、经度、纬度和 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); }

于 2012-04-22T08:19:31.660 回答