一、前端高德地图注册、项目中引入、渲染标记(Marker)and覆盖物(Circle)

首先说明一下,下面的流程只是个人摸索and看文档梳理出来的,并不作为完全正确的流程。

首先,注册 高德开放平台

没有注册的可以点击右上角点击注册;
在这里插入图片描述
我们点个人的就ok;
在这里插入图片描述
信息完善之后我们到控制台,点击 应用管理 --> 我的应用 --> 创建新应用即可;
在这里插入图片描述
输入Key名称和服务平台(我这里选择的是 web段JS API )就可以看到生成了一个列表,其中Key列就是我们需要用到的。

其次,项目中使用

我们直接使用第三方的包来实现引入;

npm  i @amap/amap-jsapi-loader

然后就是我们在项目中的使用啦;

import AMapLoader from '@amap/amap-jsapi-loader';

页面代码:


import React, { Component } from 'react';
import AMapLoader from '@amap/amap-jsapi-loader';
import '../index.scss'
class  MapComponent extends Component{
    constructor(){
        super();      
        this.map ={};
    }
    // 2.dom渲染成功后进行map对象的创建
    componentDidMount(){
        AMapLoader.reset()  //需要把这个reset一下
        AMapLoader.load({
            key:"",   // 申请好的Web端开发者Key,首次调用 load 时必填
            version:"2.0",              // 指定要加载的 JSAPI 的版本,缺省时默认为 1.4.15
            plugins:[''],               // 需要使用的的插件列表,如比例尺'AMap.Scale'等
        }).then((AMap)=>{
            console.log(AMap,'AMap')
            this.map = new AMap.Map("container111",{ //设置地图容器id
                // viewMode:"3D",         //是否为3D地图模式
                zoom: 10, //初始化地图级别
                center: [121.487899486,31.24916171 ] //初始化地图中心点位置-重庆市
            });
            var marker1 = new AMap.Marker({
                icon: "https://webapi.amap.com/theme/v1.3/markers/n/mark_b.png", //在线图标
                position: [121.487899486,31.24916171],
                title:'aaaaaa',
                zoom:999
            });
            var marker2 = new AMap.Marker({
                icon: "https://webapi.amap.com/theme/v1.3/markers/n/mark_b.png",
                position: [121.287899486,31.34916171],
                title:'aaaaaa',
                zoom:999
            });
            const content = `<div style="width:auto">EU126,租凭<br/>XX.XX MW</div>`
            marker1.setLabel({
                content:content,
                offset:new AMap.Pixel(-20,36)
            })
            marker2.setLabel({
                content:content,
                offset:new AMap.Pixel(-20,36)
            })
            var circle = new AMap.Circle({
                center: new AMap.LngLat("121.487899486", "31.24916171"), // 圆心位置
                radius: 10000,  //半径
                strokeColor: "#F33",  //线颜色
                strokeOpacity: 1,  //线透明度
                strokeWeight: 3,  //线粗细度
                fillColor: "#ee2200",  //填充颜色
                fillOpacity: 0.35 //填充透明度
            });
            this.map.add([marker1,marker2,circle]);
            // this.map.add(marker);
        }).catch(e=>{
            console.log(e);
        })
    }
    render(){
        // 1.初始化创建地图容器,div标签作为地图容器,同时为该div指定id属性;
        return (
              <div id="container111" className="map"  > 
              </div>
          );
    }
}
//导出地图组建类
export default MapComponent;

要注意的是:一定要给其设置宽和高,没有高也是显示不出来的。
页面效果为:
在这里插入图片描述

上面的代码实现了两个Marker和一个Circle;
当然这篇只是简单记录一下初次使用,另外献上官方文档连接:
地图 JS API 准备工作
覆盖物的添加和移除
点标记
我们想要实现的基本都能在官方文档上找到对应的效果,主打还是要看人家的官方文档。

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
在高德地图添加标记点(Marker)可以通过以下步骤实现: 1. 引入高德地图 JavaScript API 在 HTML 文件引入高德地图 JavaScript API,例如: ```html <script src="https://webapi.amap.com/maps?v=1.4.15&key=您申请的key值"></script> ``` 其 `key` 值需要替换为您自己申请的高德地图开发者 Key。 2. 创建地图容器 在 HTML 文件创建一个地图容器,例如: ```html <div id="mapContainer" style="width: 100%; height: 500px;"></div> ``` 该容器的宽度和高度可以根据实际需求进行调整。 3. 创建地图对象 在 JavaScript 创建地图对象,并将其显示在地图容器,例如: ```javascript var map = new AMap.Map('mapContainer', { center: [116.397428, 39.90923], zoom: 13 }); ``` 其 `center` 表示地图心点坐标,`zoom` 表示地图的缩放级别。 4. 添加标记点 通过 `AMap.Marker` 类创建一个标记点对象,并设置其位置、图标等属性,例如: ```javascript var marker = new AMap.Marker({ position: [116.397428, 39.90923], icon: 'https://webapi.amap.com/images/marker_sprite.png' }); ``` 其 `position` 表示标记点的位置坐标,`icon` 表示标记点的图标。如果不设置图标,则默认使用高德地图提供的红色图钉样式。 5. 将标记点添加到地图 通过 `AMap.Map` 对象的 `add` 方法将标记点添加到地图,例如: ```javascript map.add(marker); ``` 完成以上步骤后,您就可以在高德地图看到一个带有标记点的地图了。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

六卿

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值