Extjs怎样使用OpenStreetMap
如题,怎样把openStreetMap显示在Extjs写的页面上,求赐教
[解决办法]
这个如果ExtJs没有这样的接口的话,估计不好实现吧,
用现有的框架总是会有制约的。
[解决办法]
其实很简单,将ext对象首先生成到DOM树中,然后再创建地图对象,参数为ext对象.body.dom,进行一些地图设置就好了
下面是一个大概的示例,将openstreetmap生成到EXT.Window对象里面,ext是3.0的
<html><head> <meta http-equiv="Content-Type" content="text/html; charset=gb2312"/> <title>GMap Window Example</title> <link rel="stylesheet" type="text/css" href="../../resources/css/ext-all.css" /> <script type="text/javascript" src="../../adapter/ext/ext-base.js"></script> <script type="text/javascript" src="../../ext-all.js"></script> <script type="text/javascript" src="http://www.openstreetmap.org/assets/application-fdbeb1704cd97b247d0fd7c64d262b59.js"></script></head><body><script type="text/javascript"> Ext.onReady(function () { var button = Ext.get('show-btn'), mapwin,map; button.on('click', function () { if (!mapwin) { mapwin = new Ext.Window({ layout: 'fit', title: 'GMap Window', closeAction: 'hide', width: 800, height: 600 ,resizable :false }); mapwin.show(); map = createMap(mapwin.body.dom); var centre = new OpenLayers.LonLat(11.289667987826276, 51.36946561104731),zoom = 17; setMapCenter(centre, zoom); setMapLayers("C"); } else mapwin.show(); }); });</script><input type="button" id="show-btn" value="打开OpenStreetMap" /><br /><br /></body></html>