`
lozpeng
  • 浏览: 39595 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

OpenLayer

阅读更多
将一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的军事动态标绘.7z

    《基于OpenLayer的军事动态标绘详解》 在信息技术飞速发展的今天,地图服务已经不再局限于传统的静态展示,而是向动态、交互的方向发展。OpenLayer作为一款强大的开源JavaScript库,被广泛应用于Web GIS(地理信息...

    baiduMap_openlayer(openlayer加载百度地图和高德地图例子)

    本示例“baiduMap_openlayer”是关于如何利用OpenLayers加载和展示百度地图与高德地图的教程。这个教程对开发者来说具有很高的参考价值,特别是那些想要在自己的Web应用中集成地图功能的人员。 首先,让我们深入...

    openlayer在线标绘,并实现增删改查

    在这个"openlayer在线标绘,并实现增删改查"的主题中,我们将深入探讨如何利用OpenLayers加载离线地图,进行在线标绘,以及如何实现标绘要素的增删改查功能,同时还会涉及地图图层切换和定位功能。 1. **加载离线...

    Openlayer地图叠加瓦片

    OpenLayers 是一个强大的开源JavaScript库,用于在网页上创建交互式的...在实际项目中,可以根据标签中的"瓦片 Openlayer"关键词,结合提供的"瓦片叠加测试"文件,进行具体的代码实践和调试,以达到理想的叠加效果。

    pro4js和openlayer版本配置

    标题 "pro4js和openlayer版本配置" 涉及的是两个主要的JavaScript库在项目中的集成和配置:Pro4JS和OpenLayers。Pro4JS通常用于地理信息系统(GIS)开发,提供了一些实用的地理处理功能,而OpenLayers则是一个流行的...

    openlayer4 加载arcgis rest 服务(遥感影像)

    openlayer4 加载arcgis rest 服务(遥感影像)。本文件适用于离线环境和有网络的在线环境。包括离线open layer,ol.css和ol.js文件和代码。代码很简单,老铁替换服务地址就可以使用代码。关键是质量保证,项目验证。...

    openlayer3实现的gis简单示例

    OpenLayer3是一个强大的开源JavaScript库,用于在Web上创建交互式地图应用。它支持多种地图服务,包括WMS、WMTS等,并提供了丰富的地图操作和功能,如图层管理、缩放、平移、图层叠加等。在这个“openlayer3实现的...

    iClient for Openlayer对接MVT矢量瓦片demo.zip

    本示例"iClient for OpenLayer对接MVT矢量瓦片demo"主要展示了如何使用OpenLayers库与超图iClient进行交互,以加载和显示MVT(Map Vector Tiles)格式的矢量瓦片数据。MVT是一种高效、轻量级的地理空间数据存储格式...

    openlayer3加载谷歌地图例.rar

    OpenLayer 3是一款开源的JavaScript库,用于在Web上创建交互式地图应用。它支持多种地图服务,包括谷歌地图。本教程将详细讲解如何利用OpenLayer 3加载谷歌地图的三种不同类型:地形图、影像图和交通图。 首先,...

    基于openlayer 5.x及以上的开源标绘sdk

    基于openlayer 5.x及以上的开源标绘sdk.支持10余种标绘图元编辑。后续会添加层级,样式,属性编辑 在线演示:http://61.155.169.52:8080/PlotOl/demo/index.html github开源。参考本人博客 ...

    openlayer包以及列子

    在"openlayer包以及代码例子"中,我们可以深入探讨以下几个核心知识点: 1. **地图显示**: OpenLayers 可以通过调用`ol.Map`对象来创建地图。你需要提供一个DOM元素作为地图容器,并设置至少一个图层(layer)。...

    我自己总结的openlayer开发文档

    《OpenLayer开发详解:GIS地理信息处理与Shapefile解析》 OpenLayer是一个强大的JavaScript库,专用于构建交互式的地图应用。它支持多种地图服务,包括WMS、WMTS、TMS等,并且能与各种地理数据格式如GeoJSON、KML、...

    OpenLayer标会示例

    这个"OpenLayer标会示例"可能包含了一个使用OpenLayers库来绘制地理图形,如箭头和路径的实例。在HTML5的支持下,可以利用canvas或SVG元素进行矢量图形的绘制,这使得动态交互和地图渲染成为可能。 OpenLayers的...

    openlayer 实例测试页

    openlayer 加载geoserver地图测试页面

    使用稻歌Google Map截获器和Openlayer制作内网地图

    标题中的“使用稻歌Google Map截获器和Openlayer制作内网地图”表明我们要讨论的是一个结合了两个特定工具——稻歌Google Map截获器和OpenLayer——来创建内部网络地图的方法。这个过程通常用于在无法直接访问公开...

    1.(openlayer篇)openlayer接入天地图(经纬度投影).zip

    var tiandituImage = new ol.layer.Tile({ source: new ol.source.Tianditu({ layer: 'img_c', // 影像图层 attribution: '天地图' }), visible: true }); map.addLayer(tiandituImage); ``` 步骤4:处理坐标...

    openlayer访问geoserver完整Demo

    在"openlayer访问geoserver完整Demo"中,我们主要会涉及以下几个关键知识点: 1. **OpenLayers 3**: OpenLayers 3是这个示例的核心,它是一个强大的JavaScript库,允许开发者在网页上显示地图,控制地图交互,以及...

    openlayer学习资料

    这个“openlayer学习资料”压缩包很可能是为了帮助学习者深入理解和掌握OpenLayers库的功能和用法。 在OpenLayers中,有几个关键的知识点是必须要了解的: 1. **地图层(Layers)**:地图由多个层组成,每个层可以...

    openlayer 3源代码资源

    openlayer3源代码,自定义热力图

    openlayer基本功能代码

    这个"openlayer基本功能代码"的压缩包可能包含了实现OpenLayers基础功能的示例代码,让我们来详细探讨一下这些功能。 1. **基本放大缩小**:OpenLayers 提供了简单的地图缩放和平移操作。`Map`对象是核心,通过它的...

Global site tag (gtag.js) - Google Analytics