vue3使用天地图创建标记点

最近开发的项目要求使用天地图,之前没有接触过,研究一番就开始制作了,挺容易上手的,直接看效果吧

 引入方面就不在细说了

直接看标记点代码

//这是一个点击事件
const allmarker = () => {
      var arrs = [ ];//这里面写自己的坐标数据(经纬度)
//设置图标样式尺寸
      var icon = new T.Icon({
        iconUrl: "https://cdn-icons-png.flaticon.com/512/1483/1483336.png",
        iconSize: new T.Point(30, 30),
        iconAnchor: new T.Point(10, 56),
      });
//循环坐标数组,创建标记点
      arrs.forEach((item, index) => {
        let markers = new T.Marker(new T.LngLat(item[0], item[1]), {
//item[0]是经度,item[1]是纬度
          icon: icon,
        });
        wxMap.addOverLay(markers);
//执行标记点函数
        addwindowclick(markers, index);
      });
    };

点击标记点出现弹窗

let addwindowclick = (marker, i) => {
      marker.addEventListener("click", function (e) {
//点击坐标点切换中心点(可以不写)
        Longitude.value = marker.or.lng;
        Latitude.value = marker.or.lat;
        wxMap.centerAndZoom(
          new T.LngLat(Longitude.value, Latitude.value),
          zoom.value
        );
//下面的步骤必须写
        var point = e.lnglat;
        // 创建信息窗口对象
        var markerInfoWin = new T.InfoWindow();
        var sContent = `
        <div id="win_box">
          //自定义窗体内容
		</div>`;
//设置信息窗口要显示的内容
        markerInfoWin.setContent(sContent);
//setOffset设置信息浮窗显示时向右下角偏移量(像素)。-30则代表向上偏移
        markerInfoWin.setOffset(new T.Point(0, -15));
//开启信息窗口
        wxMap.openInfoWindow(markerInfoWin, point);

 功能就是这样,更多方法可以认真分析官方示例中心

天地图示例中心icon-default.png?t=M666http://lbs.tianditu.gov.cn/api/js4.0/examples.html

文章仅限参考 如有错误请及时指出或补充

  • 4
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
地图并没有直接提供给坐标添加自定义名称的功能,但你可以通过在地图添加自定义标记(marker)来实现给坐标添加自定义名称的效果。以下是一个示例代码: ```javascript // 假设你有一个经纬度坐标和自定义名称 const lng = 116.397128; const lat = 39.916527; const customName = "自定义名称"; // 创建地图对象 const map = new T.Map("mapContainer"); // 设置地图的中心和缩放级别 map.centerAndZoom(new T.LngLat(lng, lat), 15); // 创建自定义标记 const marker = new T.Marker(new T.LngLat(lng, lat)); // 创建信息窗口 const infoWindow = new T.InfoWindow(customName); // 绑定标记击事件 marker.addEventListener("click", function() { // 在标记时显示信息窗口 map.openInfoWindow(infoWindow, new T.LngLat(lng, lat)); }); // 将标记添加地图上 map.addOverLay(marker); ``` 在上述代码中,`lng`和`lat`分别表示经度和纬度坐标,`customName`表示自定义的名称。通过创建一个地图对象,并设置地图的中心和缩放级别,然后创建一个自定义的标记,并绑定击事件,在标记时显示自定义的信息窗口,最后将标记添加地图上。这样,当你在地图击该标记时,会出现一个带有自定义名称的信息窗口。 请注意,上述示例代码仅演示了基本的添加自定义名称的功能,你可以根据自己的需求进行扩展和使用。另外,地图的API还提供其他功能,如绘制图形、搜索功能等,你可以在官方文档中查找更多相关信息。
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值