12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182 |
- /**
- * @fileoverview 位置信息查询服务
- * @author Song.Huang
- * @version 1.0.0
- */
- define(function() {
- var addressSearch = function() {
- this.formatEarthLatLng = function(lat,lng){
- lng = lng%360;
- if(lng>180){
- lng = (lng%180)-180;
- }else if(lng<-180){
- lng = 180+(lng%180);
- }
- lat = lat%180;
- if(lat>90){
- lat = (lat%90)-90;
- }else if(lat<-90){
- lat = 90+(lat%90);
- }
- return [lat,lng];
- };
- /**
- * 通过经纬度二维数组进行地名和站点查询 [[116,36],[117,48]]
- */
- this.latlngToZDAndName = function(lnglat, callbackFunc) {
- var latlngString;
- var _this = this;
- $.each(lnglat, function(i, t) {
- t = _this.formatEarthLatLng(t[0],t[1]);
- if (i === 0) {
- latlngString = t[1] + ',' + t[0];
- } else {
- latlngString = latlngString + '|' + t[1] + ',' + t[0];
- }
- })
- $.ajax({
- url: onemapUrlConfig.weatherADSerch + "/weatherstation?data=%27" + latlngString + "%27",
- type: 'GET',
- dataType: 'jsonp'
- })
- .done(function(data) {
- ONEMAP.V.loading.loaded();
- callbackFunc(data);
- })
- .fail(function() {
- ONEMAP.V.loading.loaded();
- });
- },
- /**
- * 通过缩放等级和坐标查询位置信息
- * @param {[type]} options [latLng(经纬度数组[纬度,经度]) zoom(地图缩放比例)]
- * @param {[type]} callbackFunc [description]
- * @return {[type]} [description]
- */
- this.getAddressInfo = function(options, callbackFunc) {
- options.latLng = this.formatEarthLatLng(options.latLng[0],options.latLng[1]);
- var sUrl = onemapUrlConfig.addressSearchDataUrl + '/v1.0/address/near/' +
- '?z=' + options.zoom +
- '&lon=' + options.latLng[1] +
- '&lat=' + options.latLng[0];
- ONEMAP.V.loading.load();
- $.ajax({
- url: sUrl,
- type: 'GET',
- dataType: 'jsonp'
- })
- .done(function(data) {
- ONEMAP.V.loading.loaded();
- callbackFunc(data);
- })
- .fail(function() {
- ONEMAP.V.loading.loaded();
- });
- }
- };
- return addressSearch;
- })
|