{"version":3,"sources":["jsdelivr-header.js","/npm/aieyes-amap@1.0.4/mapService.js"],"names":[],"mappings":"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","file":"/npm/aieyes-amap@1.0.4/mapService.js","sourceRoot":"","sourcesContent":["/**\n * Minified by jsDelivr using Terser v5.39.0.\n * Original file: /npm/aieyes-amap@1.0.4/mapService.js\n *\n * Do NOT use SRI with dynamically generated files! More information: https://www.jsdelivr.com/using-sri-with-dynamic-files\n */\n","export default class MapService {\r\n    constructor(obj) {\r\n        this.mapData = obj\r\n    }\r\n\r\n    //初始化高德地图\r\n    initMap() {\r\n        this.oScript = document.createElement('script')\r\n        this.oScript.src = 'https://webapi.amap.com/maps?v=1.3&key=' + this.mapData.key + '&&plugin=AMap.Geocoder,AMap.Riding,AMap.Walking,AMap.Driving'\r\n        document.getElementsByTagName(\"head\")[0].appendChild(this.oScript)\r\n        return new Promise((resolve, reject) => {\r\n            this.oScript.onload = () => { //当地图文件加载完后，初始化地图\r\n                this.map = new AMap.Map(this.mapData.id, this.mapData.mapStyle)\r\n                if (this.mapData.mapStyle.centerMarker) {\r\n                  var marker = new AMap.Marker({\r\n                    map: this.map,\r\n                    position: this.map.getCenter(),\r\n                    icon: \"https://webapi.amap.com/theme/v1.3/markers/n/mark_r.png\"\r\n                  });\r\n                }\r\n                resolve()\r\n            }\r\n        });\r\n    }\r\n\r\n\r\n    //展示地图控件\r\n    showMapTool(obj) {\r\n        if (obj.isOverView && ((typeof obj.isOverView) == 'boolean')) { //展示鹰眼\r\n            this.map.plugin([\"AMap.OverView\"], () => {\r\n                let view = new AMap.OverView()\r\n                this.map.addControl(view)\r\n            })\r\n        }\r\n        if (obj.isScale && ((typeof obj.isScale) == 'boolean')) { //展示比例尺插件\r\n            this.map.plugin([\"AMap.Scale\"], () => {\r\n                let scale = new AMap.Scale()\r\n                this.map.addControl(scale)\r\n            })\r\n        }\r\n        if (obj.isToolBar && ((typeof obj.isToolBar) == 'boolean')) { //展示地图工具条\r\n            this.map.plugin([\"AMap.ToolBar\"], () => {\r\n                let tool = new AMap.ToolBar()\r\n                this.map.addControl(tool)\r\n            })\r\n        }\r\n\r\n    }\r\n\r\n    //定位\r\n    showLocation() {\r\n        // return 666\r\n        return new Promise((resolve, reject) => {\r\n            this.map.plugin('AMap.Geolocation', () => {\r\n                let geolocation = new AMap.Geolocation()\r\n                this.map.addControl(geolocation)\r\n                geolocation.getCurrentPosition()\r\n                AMap.event.addListener(geolocation, 'complete', (data) => {\r\n                    resolve(data)\r\n                })\r\n                AMap.event.addListener(geolocation, 'error', () => {\r\n                    reject('定位失败！')\r\n                })\r\n            })\r\n        })\r\n    }\r\n\r\n    //关键字搜索\r\n    searchByKeyword(obj) { //http://lbs.amap.com/api/javascript-api/example/poi-search/keywords-search/\r\n            return new Promise((resolve, reject) => {\r\n                AMap.service([\"AMap.PlaceSearch\"], () => {\r\n                    var placeSearch = new AMap.PlaceSearch({ //构造地点查询类\r\n                        pageSize: obj.pageSize,\r\n                        pageIndex: obj.pageIndex,\r\n                        // city: \"010\",\r\n                        map: obj.showResultInMap ? this.map : '',\r\n                        panel: \"\"\r\n                    });\r\n                    //关键字查询\r\n                    // console.log(obj.key)\r\n                    placeSearch.search(obj.key ? obj.key : '', (status, result) => {\r\n                        if (status === 'complete' && result.info === 'OK') {\r\n                            let returnObj = result.poiList\r\n                            resolve(returnObj)\r\n                        } else {\r\n                            reject('搜索不到您您想要的结果！')\r\n                        }\r\n                    })\r\n                })\r\n            })\r\n        }\r\n        //周边搜索\r\n    searchNearBy(obj) { //http://lbs.amap.com/api/javascript-api/example/poi-search/around-search/\r\n            return new Promise((resolve, reject) => {\r\n                AMap.service([\"AMap.PlaceSearch\"], () => {\r\n\r\n                    // !obj.type &&  (obj.type = '')\r\n                    //  obj.map =  obj.showResultInMap ? this.map : ''\r\n\r\n                    let placeSearch = new AMap.PlaceSearch({ //构造地点查询类\r\n                        pageSize: obj.pageSize,\r\n                        // city: '010',\r\n                        type: obj.type ? obj.type : '',\r\n                        pageIndex: obj.pageIndex,\r\n                        map: obj.showResultInMap ? this.map : '',\r\n                        panel: ''\r\n                    });\r\n\r\n                    placeSearch.searchNearBy(obj.key ? obj.key : '', obj.lngLat, 1000, (status, result) => {\r\n                        if (status === 'complete' && result.info === 'OK') {\r\n                            let returnObj = result.poiList\r\n                            resolve(returnObj)\r\n                        } else {\r\n                            reject('搜索出错啦！')\r\n                        }\r\n                    })\r\n                })\r\n            })\r\n        }\r\n        //输入提示，选中提示项自动查询\r\n    inputTipAndSearch() { //http://lbs.amap.com/api/javascript-api/example/poi-search/search-after-enter-prompt/\r\n\r\n    }\r\n\r\n    //点击地图获取经纬度坐标\r\n    clickMap(callback) { //http://lbs.amap.com/api/javascript-api/example/map/click-to-get-lnglat/\r\n        this.map.on('click', (e) => {\r\n            let lnglat = []\r\n            lnglat[0] = e.lnglat.getLng()\r\n            lnglat[1] = e.lnglat.getLat()\r\n            this.lnglat = lnglat\r\n            callback && callback()\r\n        });\r\n    }\r\n\r\n    //逆地理编码(把经纬度转换成地址信息)\r\n    lngLatToAddress(lnglat) {\r\n            return new Promise((resolve, reject) => {\r\n                let geocoder = new AMap.Geocoder({\r\n                    radius: 1000,\r\n                    extensions: \"all\"\r\n                });\r\n                geocoder.getAddress(lnglat, function(status, result) {\r\n                    if (status === 'complete' && result.info === 'OK') {\r\n                        resolve(result.regeocode)\r\n                    } else {\r\n                        reject('获取地址信息出错啦！')\r\n                    }\r\n                })\r\n            })\r\n        }\r\n        //出行路线规划及调用原生APP导航\r\n    planWay(planObj) {\r\n        let obj = { //默认为步行\r\n            map: this.map,\r\n            panel: planObj.wrapId ? planObj.wrapId : ''\r\n        }\r\n        return new Promise((resolve, reject) => { //默认为步行\r\n            let plan = new AMap.Walking(obj)\r\n            if (planObj.isRiding) { //如果为骑行\r\n                plan = new AMap.Riding(obj)\r\n            } else if (planObj.isDriving) { //如果为驾车\r\n                plan = new AMap.Driving(obj)\r\n            }\r\n\r\n            if (planObj.searchObj) { //如果是按名称规划路线\r\n                plan.search(planObj.searchObj, (status, result) => {\r\n                    if (status === 'complete' && result.info === 'OK') {\r\n                        fn()\r\n                    }\r\n                })\r\n            } else { //如果是按经纬度规划路线\r\n                plan.search(planObj.searchOrigin, planObj.searchDestination, (status, result) => {\r\n                    if (status === 'complete' && result.info === 'OK') {\r\n                        fn()\r\n                    } else {\r\n                        reject('抱歉暂时不能为您规划想要的出行路线！')\r\n                    }\r\n                })\r\n            }\r\n        })\r\n\r\n        function fn() {\r\n            if (!planObj.wrapId) {\r\n                resolve(result.routes)\r\n            } else if (planObj.native) {\r\n                driving.searchOnAMAP({\r\n                    origin: result.origin,\r\n                    destination: result.destination\r\n                })\r\n            }\r\n        }\r\n    }\r\n\r\n    //设置地图中心点\r\n    setMapCenter(lnglat) {\r\n        this.map.setCenter(lnglat)\r\n    }\r\n\r\n    //设置地图级别\r\n    setMapZoom(zoom) {\r\n        this.map.setZoom(zoom)\r\n    }\r\n\r\n    //gps坐标转高德经纬度\r\n    static gpsTransform(obj) {//加上static可以不用实例化使用该方法，详见文档说明\r\n        return new Promise((resolve, reject) => {\r\n            let  para\r\n            let request = new XMLHttpRequest()\r\n            request.open('post', 'https://restapi.amap.com/v3/assistant/coordinate/convert')\r\n            switch(Object.prototype.toString.call(obj.lnglat)){\r\n                case '[object String]':para = 'key=' + obj.key + '&locations=' + obj.lnglat + '&coordsys=gps';break;\r\n                case '[object Array]':para='key=' + obj.key + '&locations=' + obj.lnglat[0]+','+obj.lnglat[1]+ '&coordsys=gps';break;\r\n            }\r\n            request.send(para)\r\n            request.onload = () => {\r\n                resolve(request.response)\r\n            }\r\n            request.onerror = (e) => {\r\n                reject('e')\r\n            }\r\n        })\r\n    }\r\n\r\n    //计算两点之间的距离\r\n    caculateDistance(twoPoint) {\r\n        let lnglat1 = new AMap.LngLat(twoPoint.one[0], twoPoint.one[1])\r\n        let lnglat2 = new AMap.LngLat(twoPoint.two[0], twoPoint.two[1])\r\n        return Math.round(lnglat1.distance(lnglat2))\r\n    }\r\n\r\n    //无需实例化地图的经纬度转真实地址（web服务api）\r\n    static webLnglatToAddress(obj) {\r\n        return new Promise((resolve, reject) => {\r\n            let para\r\n            let request = new XMLHttpRequest()\r\n            request.open('post', 'https://restapi.amap.com/v3/geocode/regeo')\r\n            switch(Object.prototype.toString.call(obj.lnglat)){\r\n                case '[object String]':para = 'key=' + obj.key + '&location=' + obj.lnglat + '&extensions=all';break;\r\n                case '[object Array]':para='key=' + obj.key + '&location=' + obj.lnglat[0]+','+obj.lnglat[1]+ '&extensions=all';break;\r\n            }\r\n            request.send(para)\r\n            request.onload = () => {\r\n                resolve(JSON.parse(request.response))\r\n            }\r\n            request.onerror = (e) => {\r\n                reject('e')\r\n            }\r\n        })\r\n    }\r\n}\r\n"]}