地理定位控件包装了w3c 的geolocation 接口,与map结合使用;在位置改变时可以响应事件。
通过 activate 和 deactivate 两个方法,实现动态的激活和注销。
可用 activate 激活控件,方法如下:
geolocate.activate();
注销控件可用 deactivate 方法实现,方法如下:
geolocate.deactivate();
如果map控件的投影不是 EPSG:4326 或者 EPSG:900913 时需要加载proj4js 库。
| SuperMap. | 地理定位控件包装了w3c 的geolocation 接口,与map结合使用;在位置改变时可以响应事件。 | 
| Constants | |
| EVENT_TYPES | |
| Properties | |
| bind | {Boolean} 地理位置改变时,当前地图的中心点是否变化。默认为true,地图中心点会变化。 | 
| geolocationOptions | {Object} 传递给 geolocation api 的可选参数。默认不传递任何参数。 参数可选: enableHighAccuracy:指示浏览器获取高精度的位置,默认为false. | 
| watch | {Boolean} 地理位置是否经常更新。默认为false,地理位置不会更新。 | 
| Constructor | |
| SuperMap. | 创建 Geolocate 新对象,创建方法如下: | 
| Functions | |
| activate | 激活控件和要素处理程序。 | 
| getCurrentLocation | 获取当前的地理位置。 | 
{Object} 传递给 geolocation api 的可选参数。默认不传递任何参数。 参数可选: enableHighAccuracy:指示浏览器获取高精度的位置,默认为false. timeout:指定获取地理位置的超时时间,单位毫秒(ms),默认为不限时。 maximumAge:最长有效期,在重复获取地理位置时, 此参数指定多久再次获取位置。默认为0,表示浏览器需要立刻重新计算位置。 参数详见: http://dev.w3.org/geo/api/spec-source.html 。
创建 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
}
      
     激活控件和要素处理程序。
activate: function () 
获取当前的地理位置。
getCurrentLocation: function()