高德地图添加Marker点标记

本文介绍如何使用高德地图API在地图上添加、更新和删除点标记(Marker)。通过示例代码展示了如何设置地图中心点、创建点标记及自定义点标记内容等关键步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

示例代码部分:

<!doctype html>
<html>
<head>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="initial-scale=1.0, user-scalable=no, width=device-width">
    <title>点标记</title>
    <link rel="stylesheet" href="http://cache.amap.com/lbs/static/main1119.css"/>
    <style>
        .marker {
            color: #ff6600;
            padding: 4px 10px;
            border: 1px solid #fff;
            white-space: nowrap;
            font-size: 12px;
            font-family: "";
            background-color: #0066ff;
        }
    </style>
    <script src="http://webapi.amap.com/maps?v=1.3&key=您申请的key值"></script>
    <script type="text/javascript" src="http://cache.amap.com/lbs/static/addToolbar.js"></script>
</head>
<body>
<div id="container"></div>
<div  class="button-group">
    <input type="button" class="button" value="添加点标记覆盖物" id="addMarker"/>
    <input type="button" class="button" value="更新点标记覆盖物" id="updateMarker"/>
    <input type="button" class="button" value="删除点标记覆盖物" id="clearMarker"/>
</div>
<script>
    var marker, map = new AMap.Map("container", {
        resizeEnable: true,
        center: [104.747402,31.46131],
        zoom: 13
    });
    AMap.event.addDomListener(document.getElementById('addMarker'), 'click', function() {
        addMarker();
    }, false);
    AMap.event.addDomListener(document.getElementById('updateMarker'), 'click', function() {
        marker && updateMarker();
    }, false);
    AMap.event.addDomListener(document.getElementById('clearMarker'), 'click', function() {
        if (marker) {
            marker.setMap(null);
            marker = null;
        }
    }, false);

    // 实例化点标记
    function addMarker() {
        if (marker) {
            return;
        }
        marker = new AMap.Marker({
            icon: "http://webapi.amap.com/theme/v1.3/markers/n/mark_b.png",
            position: [104.747402,31.46131]
        });
        marker.setMap(map);
    }

    function updateMarker() {
        // 自定义点标记内容
        var markerContent = document.createElement("div");

        // 点标记中的图标
        var markerImg = document.createElement("img");
        markerImg.className = "markerlnglat";
        markerImg.src = "http://webapi.amap.com/theme/v1.3/markers/n/mark_r.png";
        markerContent.appendChild(markerImg);

        // 点标记中的文本
        var markerSpan = document.createElement("span");
        markerSpan.className = 'marker';
        markerSpan.innerHTML = "Hi,我换新装备啦!";
        markerContent.appendChild(markerSpan);

        marker.setContent(markerContent); //更新点标记内容
        marker.setPosition([104.747402,31.46131]); //更新点标记位置
    }
</script>
</body>
</html>
  • 代码片分析:

核心部分,如何添加一个点?
这里写图片描述

实现基本功能的代码:

//这里是设置地图中心点,比如这里选了一个绵阳为中心的坐标
 var marker, map = new AMap.Map("container", {
        resizeEnable: true,
        center: [104.747402,31.46131],
        zoom: 13
    });

    window.onload = function(){
        addMarker();
    }
    // 实例化点标记
    function addMarker() {
        if (marker) {
            return;
        }
        marker = new AMap.Marker({
            icon: "http://webapi.amap.com/theme/v1.3/markers/n/mark_b.png",
            position: [104.747402,31.46131]//在这里设置需要打点的坐标
        });
        marker.setMap(map);
    }

附加:怎么添加获取地图上的坐标点?高德地图工具
http://lbs.amap.com/console/show/picker
这里写图片描述

讲获取的店坐标拷贝到示例代码此处:
这里写图片描述

保存,运行,地图上出现Marker点

### 如何在高德地图API中添加Marker标记 为了在高德地图API中成功创建并显示`Marker`标记,需按照如下方法操作: #### 创建地图实例 首先应当初始化一个地图对象,在此过程中指定容器ID以及中心坐标等参数。 ```javascript var map = new AMap.Map('container', { zoom: 10, center: [116.397428, 39.90923] // 设置地图中心经纬度 }); ``` #### 构建Marker对象 接着构建一个新的`AMap.Marker`实例,并设置其属性如位置、图标样式等内容[^1]。 ```javascript // 定义marker的位置 var position = new AMap.LngLat(116.391467, 39.927761); // 实例化Marker var marker = new AMap.Marker({ position: position, title: '这是一个测试标记' }); // 将创建好的marker添加至地图上 map.add(marker); ``` 对于已经存在于地图上的标记,无需重复执行上述命令来再次加入集合;如果想要调整现有标记的位置,则可以调用`setPosition()`函数传入新的地理坐标作为参数[^3]。 关于页面布局设计方面的需求实现,比如通过击输入框触发地图弹窗展示、依据用户输入提供地建议等功能则涉及到前端框架(例如Vue.js)的具体应用逻辑[^5]。这部分工作通常会结合JavaScript事件监听器完成交互处理流程的设计。 #### 更新视图适应所有覆盖物 当向地图新增加了要素之后,可能希望自动缩放和平移以最佳视角呈现这些新添加的对象给终端使用者查看。此时可利用`setFitView()`接口达成目的,不过需要注意的是该行为针对单个或者少量的常规`Marker`有效,而面对大量数据集时应考虑其他方案因为这不会作用于`AMap.MassMarks`类型的元素之上[^2]。 ```javascript map.setFitView([marker]); ``` 以上就是有关如何运用高德地图Web服务端口实现在线地图界面里增加自定义标注的整体介绍。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值