{"remainingRequest":"D:\\jenkins\\workspace\\xq-web-fvue\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\jenkins\\workspace\\xq-web-fvue\\src\\components\\eipControl\\EipMap.vue?vue&type=script&lang=js&","dependencies":[{"path":"D:\\jenkins\\workspace\\xq-web-fvue\\src\\components\\eipControl\\EipMap.vue","mtime":1667327529247},{"path":"D:\\jenkins\\workspace\\xq-web-fvue\\node_modules\\babel-loader\\lib\\index.js","mtime":315532800000},{"path":"D:\\jenkins\\workspace\\xq-web-fvue\\node_modules\\cache-loader\\dist\\cjs.js","mtime":499162500000},{"path":"D:\\jenkins\\workspace\\xq-web-fvue\\node_modules\\vue-loader\\lib\\index.js","mtime":499162500000}],"contextDependencies":[],"result":["//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\r\nimport VueAMap from \"vue-amap\"; //高德地图插件\r\nVueAMap.initAMapApiLoader({\r\n  // 高德的key\r\n  key: \"1f8f479e9b787974efaa9bda1bf8ef92\",\r\n  // 插件集合\r\n  plugin: [\r\n    \"AMap.Autocomplete\",\r\n    \"AMap.PlaceSearch\",\r\n    \"AMap.Scale\",\r\n    \"AMap.OverView\",\r\n    \"AMap.ToolBar\",\r\n    \"AMap.MapType\",\r\n    \"AMap.PolyEditor\",\r\n    \"AMap.CircleEditor\",\r\n    \"AMap.Geolocation\",\r\n    \"AMap.Autocomplete\",\r\n    \"AMap.PlaceSearch\"\r\n  ],\r\n  // 默认高德 sdk 版本为 1.4.4\r\n  v: \"1.4.4\"\r\n});\r\nimport utils from \"@/utils.js\";\r\nexport default {\r\n  name: \"eip-map\",\r\n  props: [\"heightMap\", \"addressMap\"],\r\n  data() {\r\n    const self = this;\r\n    return {\r\n      mapCenter: [121.59996, 31.197646],\r\n      markers: [],\r\n      address: \"\",\r\n      zoom: 12,\r\n      resizeEnable: true,\r\n      lng: 0,\r\n      lat: 0,\r\n      loaded: false,\r\n      searchOption: {\r\n        //poi搜索条件  默认全国\r\n        city: \"全国\",\r\n        citylimit: false //是否限制城市内搜索\r\n      },\r\n      plugin: [],\r\n    };\r\n  },\r\n  methods: {\r\n    onSearchResult(pois) {\r\n      let latSum = 0;\r\n      let lngSum = 0;\r\n      if (pois.length > 0) {\r\n        //获取选择的地址经纬度\r\n        this.mapCenter = [pois[0].lng, pois[0].lat];\r\n        if (\r\n          this.markers.length > 0 &&\r\n          this.markers[0][0] != this.mapCenter[0] &&\r\n          this.markers[0][1] != this.mapCenter[1]\r\n        ) {\r\n          this.markers = []; //清空经纬度\r\n          this.markers.push([pois[0].lng, pois[0].lat]);\r\n        } else if (this.markers.length == 0) {\r\n          this.markers.push([pois[0].lng, pois[0].lat]);\r\n        }\r\n        //判断地图返回的地址是否有绑定的字段\r\n        if (this.addressMap) {\r\n          const pInst = utils.getOnlineFormInstance(this);\r\n          //赋值给绑定的字段\r\n          utils.setValueByPath(pInst, this.addressMap, pois[0].address+\".\"+pois[0].name,null);\r\n        }\r\n      }\r\n    }\r\n  },\r\n  mounted() {\r\n    const self = this;\r\n    setTimeout(()=>{\r\n      self.plugin=[\r\n        \"AMap.Scale\",\r\n        \"AMap.ToolBar\",\r\n        \"AMap.Autocomplete\",\r\n        {\r\n          enableHighAccuracy: true, //是否使用高精度定位，默认:true\r\n          timeout: 10000, //超过10秒后停止定位，默认：5s\r\n          buttonPosition: \"RB\", //定位按钮的停靠位置\r\n          buttonOffset: new AMap.Pixel(5, 10), //定位按钮与设置的停靠位置的偏移量，默认：Pixel(10, 20)\r\n          zoomToAccuracy: true, //定位成功后是否自动调整地图视野到定位点\r\n          markerOptions: {\r\n            //自定义定位点样式，同Marker的Options\r\n            offset: new AMap.Pixel(-18, -36),\r\n            content:\r\n              '<img src=\"https://a.amap.com/jsapi_demos/static/resource/img/user.png\" style=\"width:36px;height:36px\"/>'\r\n          },\r\n          showCircle: true, //是否显示定位精度圈\r\n          circleOptions: {\r\n            //定位精度圈的样式\r\n            strokeColor: \"#0093FF\",\r\n            noSelect: true,\r\n            strokeOpacity: 0.5,\r\n            strokeWeight: 1,\r\n            fillColor: \"#02B0FF\",\r\n            fillOpacity: 0.25\r\n          },\r\n          extensions: \"all\",\r\n          pName: \"Geolocation\",\r\n          events: {\r\n            init(o) {\r\n              if (!self.address) {\r\n                // o 是高德地图定位插件实例  获取当前位置\r\n                o.getCurrentPosition((status, result) => {\r\n                  if (result && result.position) {\r\n                    self.lng = result.position.lng;\r\n                    self.lat = result.position.lat;\r\n                    self.center = [self.lng, self.lat];\r\n                    self.loaded = true;\r\n                    self.$nextTick();\r\n                  }\r\n                });\r\n              }\r\n            }\r\n          }\r\n        },\r\n        {\r\n          //poi搜索插件\r\n          pName: \"PlaceSearch\",\r\n          events: {\r\n            init(o) {\r\n              if (self.address) {\r\n                var placeSearch = new AMap.PlaceSearch({\r\n                  city: \"全国\"\r\n                });\r\n                placeSearch.search(self.address, function(status, result) {\r\n                  if (result.info == \"OK\") {\r\n                    self.mapCenter = [\r\n                      result.poiList.pois[0].location.lng,\r\n                      result.poiList.pois[0].location.lat\r\n                    ];\r\n                    self.markers.push([\r\n                      result.poiList.pois[0].location.lng,\r\n                      result.poiList.pois[0].location.lat\r\n                    ]);\r\n                  }\r\n                });\r\n              }\r\n            }\r\n          }\r\n        }\r\n      ];\r\n      //判断地图返回的地址是否有绑定的字段\r\n      if (self.addressMap) {\r\n        const pInst = utils.getOnlineFormInstance(self);\r\n        //获取绑定字段的值\r\n        self.address = utils.getValueByPath(pInst, self.addressMap,null);\r\n      }\r\n    },500);\r\n  }\r\n};\r\n",null]}