SuperMap.Control.Geolocate

地理定位控件包装了w3c 的geolocation 接口,与map结合使用;在位置改变时可以响应事件。

通过 activate 和 deactivate 两个方法,实现动态的激活和注销。

可用 activate 激活控件,方法如下:

geolocate.activate();

注销控件可用 deactivate 方法实现,方法如下:

geolocate.deactivate();

如果map控件的投影不是 EPSG:4326 或者 EPSG:900913 时需要加载proj4js 库。

Inherits from

Summary
SuperMap.Control.Geolocate 地理定位控件包装了w3c 的geolocation 接口,与map结合使用;在位置改变时可以响应事件。
Constants
EVENT_TYPES
Properties
bind {Boolean} 地理位置改变时,当前地图的中心点是否变化。默认为true,地图中心点会变化。
geolocationOptions {Object} 传递给 geolocation api 的可选参数。默认不传递任何参数。 参数可选: enableHighAccuracy:指示浏览器获取高精度的位置,默认为false.
watch {Boolean} 地理位置是否经常更新。默认为false,地理位置不会更新。
Constructor
SuperMap.Control.Geolocate 创建 Geolocate 新对象,创建方法如下:
Functions
activate 激活控件和要素处理程序。
getCurrentLocation 获取当前的地理位置。

Constants

EVENT_TYPES

支持的事件类型

  • locationupdated 当浏览器返回新的位置时触发。
  • locationfailed 当地理定位失败时触发。
  • locationuncapable 当前浏览器不支持地理定位时触发。

Properties

bind

{Boolean} 地理位置改变时,当前地图的中心点是否变化。默认为true,地图中心点会变化。

watch

{Boolean} 地理位置是否经常更新。默认为false,地理位置不会更新。

geolocationOptions

{Object} 传递给 geolocation api 的可选参数。默认不传递任何参数。 参数可选: enableHighAccuracy:指示浏览器获取高精度的位置,默认为false. timeout:指定获取地理位置的超时时间,单位毫秒(ms),默认为不限时。 maximumAge:最长有效期,在重复获取地理位置时, 此参数指定多久再次获取位置。默认为0,表示浏览器需要立刻重新计算位置。 参数详见: http://dev.w3.org/geo/api/spec-source.html

Constructor

SuperMap.Control.Geolocate

创建 Geolocate 新对象,创建方法如下:

//实例化 Geolocate 对象
var geolocate = new SuperMap.Control.Geolocate({
    bind:false,
    //geolocationOption 的参数可以参见 <http://dev.w3.org/geo/api/spec-source.html>
    geolocationOption:{
        enableHighAccuracy:false,
        timeout:7000,
        maximumAge:0
    }
});
var map = new SuperMap.Map("map");
map.addControl(geolocate);
//激活控件
geolocate.activate();

//监听了 locationupdated 和 locationFailed 两事件
//当返回新的位置时触发 locationupdated 事件,定位失败时触发 locationFailed 事件
geolocate.events.on({
    "locationupdated":locationupdatedCompleted,
    "locationFailed":locationFailed
});

//定义 locationupdated 事件的响应函数,需要传入event参数,该参数具有 position 和 point 两个属性
//其中,position 属性表示的是经纬度坐标,point 是具有x,y坐标值的几何点对象。
function locationupdatedCompleted (event){
    //TODO
}


function locationFailed (event){
    //TODO
}

Functions

activate

activate: function ()

激活控件和要素处理程序。

Returns

{Boolean} 该控件是否成功被激活。

getCurrentLocation

getCurrentLocation: function()

获取当前的地理位置。

Returns

{Boolean} 当前控件未激活或者watch属性为false时返回false,否则返回true。

activate: function ()
激活控件和要素处理程序。
getCurrentLocation: function()
获取当前的地理位置。
控件类,提供了多种控件,比如比例尺控件,鹰眼控件,缩放条控件等等。 用于处理 Control 事件的事件处理器 Handler,内部封装了一系列的浏览器事件, 在控件(control)实现过程中可调用Handler,通过 active和 deactive两个方法,实现动态的激活和注销。
Close