【编程实践】利用高德地图开放平台制作简易地图规定半径范围

需求分析 [small demo]

使用高德地图API创建一个显示特定半径范围的简易地图。
注册高德开放平台账号,获取API Key。(精度要求不高可不需要)
创建HTML页面,引入高德地图API。
设置地图中心点和初始缩放级别。
编写代码绘制指定半径的圆形区域。
完成地图初始化、圆形区域绘制等基本功能。

具体实现

高德开放平台介绍

链接: https://lbs.amap.com/

在这里插入图片描述

高德坐标拾取

该网址,选择某个地方进行点击坐标拾取,之后需要用到。以广州塔为例,拾取坐标为东经113.32度,北纬23.11度,精度在小数点后两位,登录后可获取更精确位置。

精确地点坐标获取可访问,https://jingweidu.bmcx.com/,经纬度查询
在这里插入图片描述

在开放平台创建网页版

选择一个起始页,如下图,

在这里插入图片描述
起始页是简单的地图可视化案例。如要实现,指定半径区域的、指定范围的可以采用下面代码,将代码复制粘贴到右侧 编辑器中。

// 2024-09-21
<!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>3D视图中的圆绘制</title>
    <style>
        html,
        body,
        #container {
            margin: 0;
            padding: 0;
            width: 100%;
            height: 100%;
        }
    </style>
    <script src="https://webapi.amap.com/maps?v=1.4.15&key=您申请的key值"></script>
    <script src="https://a.amap.com/jsapi_demos/static/demo-center/js/demoutils.js"></script>
</head>
<body>
<div id="container"></div>
<script>
    var map = new AMap.Map('container', {
        center: [113.32, 23.11],// 地图页面的中心位置,小数点后数字越多越精确.
        viewMode: '2D',
        pitch: 60,
        rotation: 0,
        features: ['bg', 'road', 'point'],
        mapStyle: 'amap://styles/light',
        layers: [
            // 高德默认标准图层
            new AMap.TileLayer.Satellite(),
            // 楼块图层
            new AMap.Buildings({
                zooms: [16, 18],
                zIndex: 10,
                heightFactor: 2//2倍于默认高度,3D下有效
            })
        ],
        zoom: 16
    });
    var circle = new AMap.Circle({
        center: [113.32, 23.11], // 数组类型,指定圆的中心点坐标,格式为 [longitude, latitude],即 [经度, 纬度]
        radius: 3000, // 数字类型,指定圆的半径,半径为3000米
        borderWeight: 3, // 数字类型,指定圆轮廓的宽度,单位为像素,圆轮廓宽度
        strokeColor: "#FF33FF", // 字符串类型,指定圆轮廓的颜色,可以使用CSS颜色值
        strokeOpacity: 1, // 数字类型,指定圆轮廓的透明度,取值范围为0到1
        strokeWeight: 6, // 数字类型,指定圆轮廓的线宽,单位为像素
        fillOpacity: 0.4, // 数字类型,指定圆的填充透明度,取值范围为0到1
        strokeStyle: 'dashed', // 圆轮廓线型
        strokeDasharray: [10, 10], // 数组类型,当 strokeStyle 为 ‘dashed’ 时,用于定义虚线样式,格式为 [实线长度, 间隙长度]
        fillColor: '#1791fc', // 字符串类型,指定圆的填充颜色,可以使用CSS颜色值
        zIndex: 50, // 数字类型,指定圆的堆叠顺序,值越大,圆在地图上显示的层级越高
    });

    map.add(circle);
    map.setFitView([circle]); // 缩放地图以包含圆

    // 如果需要编辑圆,可以添加以下代码
    // 注意:AMap.CircleEditor 是在 AMap v2.0 中引入的,而本示例使用的是 v1.4.15
    // 因此,以下代码可能不会在 v1.4.15 中工作,你需要升级到 AMap v2.0 或更高版本
    // var circleEditor = new AMap.CircleEditor(map, circle);
    // circleEditor.open();
</script>
</body>
</html>

注:若上述代码可视化结果中广州塔没有在与圆心位置,是因为经纬坐标精度精度不够。若想实现精确显示,建议经纬度数据精确到小数点后六位。广州塔精确位置[113.324460, 23.106469]。

在map类中简单的参数调整

center地图中心

北京天安门,[116.39747, 39.908823]在这里插入图片描述

**viewMode: ** 实现2D和3D地图的切换
在这里插入图片描述
在这里插入图片描述

rotation实现地图视图的旋转
当 rotation: 0时,
在这里插入图片描述
当 rotation: -35时,
在这里插入图片描述

在circle类中简单的参数调整

从视觉传递的角度,一般将圆中心设置为地图中心,便于理解。
center:
在这里插入图片描述
圆半径
radius:
半径为1000米时,在这里插入图片描述
半径为3000米时,
在这里插入图片描述

半径为5000米时,
在这里插入图片描述
其他效果根据自己需求进行调整,如最外围轮廓也可设置为实线。效果如下:

在这里插入图片描述
最后,这只是简单的自定义地图可视化,如果想实现更多功能、更加丰富的使用,可参考高德开方平台结合HTML编程实现。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值