12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273 |
- (function (app) {
- app.factory("map", ["$q", "$http", function ($q, $http) {
- var key = '9f832e163baac0a04d437a52dd3e5d29';
- return {
- //获取高德地图图片
- getMapPic: function (input) {
- var deferred = $q.defer();
- var defaultPath = "img/demo/defaultmap.png";
- if (!input) return defaultPath;
- var arr = input.split(',');
-
- var keywords = arr[arr.length - 2]+arr[arr.length - 1];
- var url = 'http://restapi.amap.com/v3/place/text?key=' + key + '&keywords=' + keywords + "&callback=JSON_CALLBACK";
- $http.jsonp(url).then(function (result) {
- var p = result.data.pois[0];
- if (p) {
- var l = p.location;
- var m = "http://restapi.amap.com/v3/staticmap?location=" + l + "&zoom=10&size=720*280&markers=mid,,A:" + l + "&key=" + key;
- deferred.resolve(m);
- } else {
- deferred.resolve(defaultPath);
- }
- }, function (erro) {
- deferred.reject(erro);
- });
- return deferred.promise;
- },
- //通过ip获取地址
- getLocation: function () {
-
- //http://restapi.amap.com/v3/ip?key=9f832e163baac0a04d437a52dd3e5d29
- var deferred = $q.defer();
- var url = "http://restapi.amap.com/v3/ip?key=" + key + "&callback=JSON_CALLBACK";
- $http.jsonp(url).then(function (result) {
- deferred.resolve(result.data);
- }, function (erro) {
- deferred.reject(erro);
- });
- ////http://lbs.amap.com/api/javascript-api/reference/plugin/#m_AMap.Geolocation
- //var map, geolocation;
- ////加载地图,调用浏览器定位服务
- //map = new AMap.Map('container', {
- // resizeEnable: true
- //});
- //map.plugin('AMap.Geolocation', function () {
- // geolocation = new AMap.Geolocation({
- // enableHighAccuracy: true,//是否使用高精度定位,默认:true
- // // timeout: 10000, //超过10秒后停止定位,默认:无穷大
- // buttonOffset: new AMap.Pixel(10, 20),//定位按钮与设置的停靠位置的偏移量,默认:Pixel(10, 20)
- // zoomToAccuracy: true, //定位成功后调整地图视野范围使定位位置及精度范围视野内可见,默认:false
- // buttonPosition: 'RB'
- // });
- // map.addControl(geolocation);
- // geolocation.getCurrentPosition();
- // AMap.event.addListener(geolocation, 'complete', function (data) {
- // debugger;
- // //返回定位信息
- // var str = ['定位成功'];
- // str.push('经度:' + data.position.getLng());
- // str.push('纬度:' + data.position.getLat());
- // str.push('精度:' + data.accuracy + ' 米');
- // str.push('是否经过偏移:' + (data.isConverted ? '是' : '否'));
- // deferred.resolve(str);
- // });
- // AMap.event.addListener(geolocation, 'error', function (erro) { //返回定位出错信息
- // deferred.reject(erro);
- // });
- //});
- return deferred.promise;
- }
- }
- }]);
- })(angular.module('app.services'));
|