首页 > 编程知识 正文

openlayers控制地显示范围,openlayers加载本地地

时间:2023-05-06 19:47:16 阅读:248526 作者:363

创建地图对比窗口,当左侧地图窗口缩放或平移时,右侧地图窗口也随之发生相应的变化。

1. 创建HTML文件,引入OpenLayers开发包,插入地图div元素。

2. 创建地图实例对象map,添加基础图层和相应控件。

map.addLayers([china,china_p]);

map.setCenter(newOpenLayers.LonLat(116.39, 39.91), 8);

map.addControl(newOpenLayers.Control.Navigation());

map.addControl(newOpenLayers.Control.LayerSwitcher());

3. 创建地图实例对象map2,添加基础图层和相应控件。

varosm = new OpenLayers.Layer.OSM();

map2.addLayer(osm);

map2.setCenter(newOpenLayers.LonLat(116.39, 39.91).transform(new OpenLayers.Projection("EPSG:4326"),map2.getProjectionObject()), 8);

map2.addControl(newOpenLayers.Control.Navigation());

map2.addControl(newOpenLayers.Control.LayerSwitcher());

4. 为map注册“move”和“zoomend”事件。

map.events.on(

{

             "move":moveListener,

"zoomend":zoomListener

}

);

5. 添加moveListener和zoomListener监听函数。

functionmoveListener(event) {

map2.setCenter(map.getCenter().transform(newOpenLayers.Projection("EPSG:4326"), map2.getProjectionObject()));

}

 

functionzoomListener(event) {

map2.zoomTo(map.getZoom());

}

 

运行结果如下图所示:


Hexo博客框架&

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。