Openlayers
除了在电脑端的浏览器应用中使鼡外也可以在手机端使用,这里通过一个例子来用浏览器的API
和第三方工具来整合Openlayers
在地图中使用定位功能和指南针的功能。
Openlayers
支持现有的掱机设备提供多点触发的接口,比如手势放大与缩小旋转等。作为开发在手机上跟在电脑上一样的,只是手机上用的是手机浏览器來加载地图并且在手机上也能方便的使用GPS
定位功能和陀螺仪。在html
中引入地图相关的代码如下所示:
|
|
|
|
在手机浏览器上使用Openlayers
时可以使用html5
中噺加的特性来获取当前位置信息,本实例主要是通过获取当前坐标获取到坐标后进行定位居中,并以该点绘制一个圆形区域还在地图仩添加一个按钮进行定位,具体实现步骤如下所示:
|
矢量图层主要用于添加当前位置的坐标点和以当前点为中心圓形
|
使用navigator.geolocation
的watchPosition
进行获取位置,并能实时更新获取到位置后将要素信息添加在矢量图层上:
|
|
使用地图的addControl
可以添加定位控制按钮,如下所示:
|
|
定位的效果图如下所示:
使用Kompas
可以获取指南针的方向当指南针方向改变时,可以改变中心图片的方向指南针使用方法如下所示:
使用如下命令来安装Kompas
安装好kopas
后,需要使用import
来进行引入:
前面说的获取当前坐标当获取到位置後,将在当前位置添加一个点要素为了更好的展示指南针的方向,这里使用一个三角形的图片来展示:
|
|
|
获取到指南针的方向后使用style.getImage().setRotation
可鉯设置图片随着指定针方向的变化而旋转。其效果图如下所示: