vue+高德地图根据不同标准换图标

本文介绍如何在Vue项目中利用高德地图API,根据不同的条件或标准动态更换地图上的图标,展示了具体的代码实现和实际效果。
摘要由CSDN通过智能技术生成

vue+高德地图根据不同标准换图标

关键;

代码:

Markup

realPointSimplifierIns(){
            this.map =amapManager.getMap();
            let data="";
            //this.monitorInfo=this.tableData;
            let i=0;
            let list=this.tableData;
            
            this.tableData.forEach((item) => {
                // console.log(""[[[[]]]],item);
                if(item.longitude){
                    this.monitorInfo.push(item)
                    data +=[item.longitude+","+item.latitude] + "|"
                }
            });
            // console.log("4454848",data);
            AMapUI.load(['ui/geo/DistrictCluster','ui/misc/PointSimplifier', 'lib/$'], (DistrictCluster, PointSimplifier, $)=>{
                    const blue =  require('@/assets/cmp.png') ;
                    const yellow =  require('@/assets/yel.png') ;
                    const ora =  require('@/assets/ora.png') ;
                    const red =  require('@/assets/red.png') ;
                    const gre =  require('@/assets/gre.png') ;
                    let groupStyleMap ;
                    let pointSimplifierIns;
                    if (!PointSimplifier.supportCanvas) {
                        alert('当前环境不支持 Canvas!');
                        return;
                    }
                    let distCluster = new DistrictCluster({
                        zIndex: 100,
                        topAdcodes: [330000],
                        map: this.map, //所属的地图实例

                        getPosition: function(item) {

                            if (!item) {
                                return null;
                            }

                            var parts = item.split(',');

                            //返回经纬度
                            return [parseFloat(parts[0]), parseFloat(parts[1])];
                        }
                    });

                 window.distCluster = distCluster;

                    pointSimplifierIns = new PointSimplifier({
                        map: this.map, //所属的地图实例
                        getPosition: function(item) {

                            if (!item) {
    
您可以使用高德地图 JavaScript API 中的 AMap.Geolocation 对象来确认用户当前的位置。具体步骤如下: 1. 引入高德地图 JavaScript API: ```html <script src="https://webapi.amap.com/maps?v=1.4.15&key=您的高德地图API Key"></script> ``` 2. 创建地图实例: ```javascript var map = new AMap.Map('map-container', { zoom: 13 }); ``` 3. 创建 AMap.Geolocation 实例: ```javascript var geolocation = new AMap.Geolocation({ enableHighAccuracy: true, // 是否使用高精度定位,默认为false timeout: 10000, // 超过10秒后停止定位,默认为5s maximumAge: 0, // 定位结果缓存0毫秒,默认值为0 convert: true, // 是否使用坐标转服务,默认为true showButton: true, // 是否显示定位按钮,默认为false buttonPosition: 'RB', // 定位按钮的位置,默认为'LB',左下角 buttonOffset: new AMap.Pixel(10, 10), // 定位按钮距离地图边缘的偏移量 showMarker: true, // 是否显示定位点,默认为true markerOptions: { icon: new AMap.Icon({ size: new AMap.Size(24, 24), image: 'https://webapi.amap.com/theme/v1.3/markers/n/mark_b.png', imageSize: new AMap.Size(24, 24) }) }, // 定位点的图标样式 showCircle: true, // 是否显示定位精度圆,默认为true circleOptions: { strokeColor: '#0093FF', fillColor: '#0093FF', strokeWeight: 1, fillOpacity: 0.3 } // 定位精度圆的样式 }); ``` 4. 调用 AMap.Geolocation 的 getCurrentPosition 方法进行定位: ```javascript geolocation.getCurrentPosition(function(status, result) { if (status === 'complete') { // 定位成功 var position = result.position; // 获取定位结果的经纬度信息 map.setCenter(position); // 将地图中心移动到定位结果的位置 } else { // 定位失败 console.log('定位失败:' + result.message); } }); ``` 以上代码将会在地图中心显示当前位置的定位点,并在定位精度圆内显示精度范围。 注意:在使用高德地图 JavaScript API 进行地图开发时,需要在高德开放平台申请 API Key 并进行授权。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值