将一OpenLayer集成到Panel里面
扩展一个MapPanel继承自Ext.Panel
在prototype里加入
MapPanel =function()
{
...
}
Ext.extend(MapPanel,Ext.Panel,{
updateStatus:function(info)
{
Ext.fly(this.mapInfo.getEl()).update("坐标信息:"+info,true);
}
,initMap:function()
{
var lon = 5;
var lat = 40;
var zoom = 5;
var map, layer;
map = new OpenLayers.Map( 'regionMap', { controls: [] } );//'regionMap'为html页面上的一个div子元素,与MapPanel的ContentEl为同一个
//map = new OpenLayers.Map(mapPanel,{controls:[]});
layer = new OpenLayers.Layer.WMS( "OpenLayers WMS",
"http://labs.metacarta.com/wms/vmap0", {layers: 'basic'} );
map.addLayer(layer);
var vlayer = new OpenLayers.Layer.Vector( "Editable" );
map.addLayer(vlayer);
var zb = new OpenLayers.Control.ZoomBox(
{title:"Zoom box: Selecting it you can zoom on an area by clicking and dragging."});
var panel = new OpenLayers.Control.Panel({defaultControl: zb});
panel.addControls([
new OpenLayers.Control.MouseDefaults(
{title:'You can use the default mouse configuration'}),
zb,
new OpenLayers.Control.DrawFeature(vlayer, OpenLayers.Handler.Path,
{title:'Draw a feature'}),
new OpenLayers.Control.ZoomToMaxExtent({title:"Zoom to the max extent"})
]);
map.addControl(panel);
map.setCenter(new OpenLayers.LonLat(lon, lat), zoom);
map.events.register("mousemove", map, function(e) {
var position = this.events.getMousePosition(e);
//Ext.fly(mapInfo.getEl()).update("坐标信息:"+position,true);
//this.updateStatus1(position);
var mapPanel = Ext.getCmp("regionMap");
if(mapPanel)
mapPanel.updateStatus(position);
else
this.updateStatus(position);//此处不能调用prototype函数,也不能调用function内部的私有函数.郁闷
});
this.doLayout();
}
});
var mapPanel =new MapPanel();
mapPanel.initMap();
///
我想通过定制一个Panel的plugin或者扩展一个,但是不会,谁能教教我?
分享到:
相关推荐
《基于OpenLayer的军事动态标绘详解》 在信息技术飞速发展的今天,地图服务已经不再局限于传统的静态展示,而是向动态、交互的方向发展。OpenLayer作为一款强大的开源JavaScript库,被广泛应用于Web GIS(地理信息...
本示例“baiduMap_openlayer”是关于如何利用OpenLayers加载和展示百度地图与高德地图的教程。这个教程对开发者来说具有很高的参考价值,特别是那些想要在自己的Web应用中集成地图功能的人员。 首先,让我们深入...
在这个"openlayer在线标绘,并实现增删改查"的主题中,我们将深入探讨如何利用OpenLayers加载离线地图,进行在线标绘,以及如何实现标绘要素的增删改查功能,同时还会涉及地图图层切换和定位功能。 1. **加载离线...
OpenLayers 是一个强大的开源JavaScript库,用于在网页上创建交互式的...在实际项目中,可以根据标签中的"瓦片 Openlayer"关键词,结合提供的"瓦片叠加测试"文件,进行具体的代码实践和调试,以达到理想的叠加效果。
标题 "pro4js和openlayer版本配置" 涉及的是两个主要的JavaScript库在项目中的集成和配置:Pro4JS和OpenLayers。Pro4JS通常用于地理信息系统(GIS)开发,提供了一些实用的地理处理功能,而OpenLayers则是一个流行的...
openlayer4 加载arcgis rest 服务(遥感影像)。本文件适用于离线环境和有网络的在线环境。包括离线open layer,ol.css和ol.js文件和代码。代码很简单,老铁替换服务地址就可以使用代码。关键是质量保证,项目验证。...
OpenLayer3是一个强大的开源JavaScript库,用于在Web上创建交互式地图应用。它支持多种地图服务,包括WMS、WMTS等,并提供了丰富的地图操作和功能,如图层管理、缩放、平移、图层叠加等。在这个“openlayer3实现的...
本示例"iClient for OpenLayer对接MVT矢量瓦片demo"主要展示了如何使用OpenLayers库与超图iClient进行交互,以加载和显示MVT(Map Vector Tiles)格式的矢量瓦片数据。MVT是一种高效、轻量级的地理空间数据存储格式...
OpenLayer 3是一款开源的JavaScript库,用于在Web上创建交互式地图应用。它支持多种地图服务,包括谷歌地图。本教程将详细讲解如何利用OpenLayer 3加载谷歌地图的三种不同类型:地形图、影像图和交通图。 首先,...
基于openlayer 5.x及以上的开源标绘sdk.支持10余种标绘图元编辑。后续会添加层级,样式,属性编辑 在线演示:http://61.155.169.52:8080/PlotOl/demo/index.html github开源。参考本人博客 ...
在"openlayer包以及代码例子"中,我们可以深入探讨以下几个核心知识点: 1. **地图显示**: OpenLayers 可以通过调用`ol.Map`对象来创建地图。你需要提供一个DOM元素作为地图容器,并设置至少一个图层(layer)。...
《OpenLayer开发详解:GIS地理信息处理与Shapefile解析》 OpenLayer是一个强大的JavaScript库,专用于构建交互式的地图应用。它支持多种地图服务,包括WMS、WMTS、TMS等,并且能与各种地理数据格式如GeoJSON、KML、...
这个"OpenLayer标会示例"可能包含了一个使用OpenLayers库来绘制地理图形,如箭头和路径的实例。在HTML5的支持下,可以利用canvas或SVG元素进行矢量图形的绘制,这使得动态交互和地图渲染成为可能。 OpenLayers的...
openlayer 加载geoserver地图测试页面
标题中的“使用稻歌Google Map截获器和Openlayer制作内网地图”表明我们要讨论的是一个结合了两个特定工具——稻歌Google Map截获器和OpenLayer——来创建内部网络地图的方法。这个过程通常用于在无法直接访问公开...
var tiandituImage = new ol.layer.Tile({ source: new ol.source.Tianditu({ layer: 'img_c', // 影像图层 attribution: '天地图' }), visible: true }); map.addLayer(tiandituImage); ``` 步骤4:处理坐标...
在"openlayer访问geoserver完整Demo"中,我们主要会涉及以下几个关键知识点: 1. **OpenLayers 3**: OpenLayers 3是这个示例的核心,它是一个强大的JavaScript库,允许开发者在网页上显示地图,控制地图交互,以及...
这个“openlayer学习资料”压缩包很可能是为了帮助学习者深入理解和掌握OpenLayers库的功能和用法。 在OpenLayers中,有几个关键的知识点是必须要了解的: 1. **地图层(Layers)**:地图由多个层组成,每个层可以...
openlayer3源代码,自定义热力图
这个"openlayer基本功能代码"的压缩包可能包含了实现OpenLayers基础功能的示例代码,让我们来详细探讨一下这些功能。 1. **基本放大缩小**:OpenLayers 提供了简单的地图缩放和平移操作。`Map`对象是核心,通过它的...