vue3 调用高德地图 实现反镂空区域效果

序言

最近开发一个大屏项目,需要用到地图,只在地图上显示某个区,并根据企业信息的不同显示不同的点,现通过高德地图的反镂空区域效果实现此功能。其他弹窗内容就不在下方体现了,只展示封装的地图组件,整体通过rem进行布局。
参考高德:高德地图反镂空效果

<template>
    <div id="container"></div>
</template>

//镂空实现效果
//npm i @amap/amap-jsapi-loader --save
import {
    onMounted, onUnmounted, watch,defineExpose, defineEmits } from "vue";
import AMapLoader from "@amap/amap-jsapi-loader";
let map = null;
let infoWindow = null;
let array = [];
let TYPE = [
    '不同类型的点的标识',
];
let markers = [];
const props = defineProps({
   
    areaPoints:{
   
        default:[],
    },
})
const emit = defineEmits(['clickPoint','changeZoom'])
//监听数据点变化
watch(() => props.areaPoints, (newVal, oldVal) => {
   
    if(map){
   
        setPoints(newVal)
    }
},{
   deep: true})
onMounted(() => {
   
    setRem();
    window.addEventListener("resize", () => {
   
        setRem();
    });
    window._AMapSecurityConfig = {
   
        securityJsCode: "密钥",
    };
    AMapLoader.load({
   
        key: "你的Key", // 申请好的Web端开发者Key,首次调用 load 时必填
        version: "2.0", // 指定要加载的 JSAPI 的版本,缺省时默认为 1.4.15
        plugins: [], //需要使用的的插件列表,如比例尺'AMap.Scale',支持添加多个如:['...','...']
        AMapUI: {
   
            version: '1.1',
            plugins:['geo/DistrictExplorer']
        }
    })
    .then((AMap
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值