phonegap与openlayers混搭在android上显示地图

关于PhoneGap的介绍:PhoneGap是一个开源的开发框架,使用HTML,CSS和JavaScript来构建跨平台的的移动应用程序。它使开发者能够利用iPhone,Android,Palm,Symbian,Blackberry,Windows Phone和Beda智能手机的核心功能——包括地理定位,加速器,联系人,声音和振动等。官方地址:http://phonegap.com/


关于Openlayers的介绍:Openlayers是一个用来在浏览器中显示地图的JavaScript类库,支持各种地图类型.官方地址:http://openlayers.org/


目前Phonegap已经被Adobe收购,并且源代码也加入Apache开源项目了,名称是Cordova,目前据官方说法,PhoneGap与Cordova只是名称不同,源码都是一样的。地址:http://incubator.apache.org/cordova/


使用Eclipse开发PhoneGap的Android应用步骤可参考:http://www.phonegap.cn/?page_id=442#android


下载Openlayers的库文件http://openlayers.org/download/OpenLayers-2.11.zip
加入Openlayers的方法与普通的web应用没什么区别,只需在index.html中加入Openlayers的js库,并在js文件的目录下拷入img和theme文件夹


效果:

模拟器截屏


参考代码;index.html

[html]  view plain copy
  1. <html>  
  2. <head>  
  3. <title>PhoneLayers</title>  
  4. <meta name="viewport" content="width=device-width,initial-scale=1.0,user-scalable=no"></meta>  
  5. <style>  
  6.     body {  
  7.        background:#ff0;  
  8.        }  
  9.     div#main {  
  10.        background:#ccf;  
  11.        height:100%;  
  12.        width:80%;  
  13.        padding:10%;  
  14.        -webkit-border-radius:8px;  
  15.        }  
  16.     </style>  
  17. </head>  
  18. <script src="js/cordova-1.5.0.js"></script>  
  19. <script src="js/OpenLayers.js"></script>  
  20. <script>  
  21.   var map;  
  22. document.addEventListener("deviceready",function(){  
  23.     document.getElementById("SysInfo").  
  24.     addEventListener("click",alertCompliment,false);  
  25.     init();  
  26.     },false);  
  27.       
  28.     function init(){  
  29.        map = new OpenLayers.Map('map_element',{});  
  30.        var wms = new OpenLayers.Layer.WMS(  
  31.            "OpenLayers WMS",  
  32.            "http://vmap0.tiles.osgeo.org/wms/vmap0",  
  33.            {layers:'basic'},  
  34.            {}  
  35.        );   
  36.          
  37.        map.addLayer(wms);  
  38.        if(!map.getCenter()){  
  39.            map.zoomToMaxExtent();  
  40.        }  
  41.     }  
  42.       
  43. function alertCompliment() {  
  44.     var elementId = this.id;  
  45.     var greeting;  
  46.         greeting = "\nmodel:"+device.name + "\nsystem:" +device.platform  
  47.           +"\nversion:" + device.version  
  48.           +"\nid:" + device.uuid  
  49.           +"\ncordova:" + device.cordova;  
  50.   
  51.     navigator.notification.alert("Sys Info:"+ greeting,function(){},"You Are The Best");  
  52. }  
  53. </script>  
  54. <body>  
  55. <div id="main">  
  56. It works!You're really great!<br>  
  57. <button id="SysInfo">Show Sys Info</button>  
  58. <br>  
  59. <div id="map_element">  
  60. </div>  
  61. </div>  
  62. </body>  
  63. </html>  




项目文件结构:

eclipse工程文档目录



推荐书籍:
PacktPub.PhoneGap+Beginner’s+Guide.Sep.2011.pdf
OpenLayers.2.10.Beginners.Guide_2.pdf
在Adobe的官方网站有Phonegap的教程视频:http://tv.adobe.com/show/adc-presents-phonegap/

原文地址:http://blog.csdn.net/nickwar/article/details/7426487

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值