首页 > 其他分享 >web端使用高德地图逆地理编码

web端使用高德地图逆地理编码

时间:2024-10-10 17:22:40浏览次数:9  
标签:web const 编码 map getElementById API key document 高德

1、首先去地理/逆地理编码-基础 API 文档-开发指南-Web服务 API | 高德地图API注册一下

2、点击产品介绍-------地理/逆地理编码 

 3、创建应用拿到key

 创建web服务、看底下有逆地理编码服务

4、上一步就能拿到key了最后一步复制底下代码即可

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>高德逆地理编码示例</title>
    <script src="https://webapi.amap.com/maps?v=1.4.15&key=你申请的key"></script> 
    <style>
        /* 设置地图容器的大小 */
        #map {
            width: 100%;
            height: 800px;
        }
    </style>
</head>
<body>
    <h1>通过经纬度查找位置</h1>
    <label for="longitude">经度:</label>
    <input type="text" id="longitude" placeholder="请输入经度">
    <label for="latitude">纬度:</label>
    <input type="text" id="latitude" placeholder="请输入纬度">
    <button id="getAddress">查找位置</button>
    <div id="output"></div>
    <div id="map"></div>

    <script>
        // 初始化地图
        const map = new AMap.Map('map', {
            zoom: 10, // 设置地图缩放级别
            center: [108.999, 34.2449] // 设置地图中心点,
        });

        document.getElementById('getAddress').addEventListener('click', function() {
            const longitude = document.getElementById('longitude').value;
            const latitude = document.getElementById('latitude').value;

            if (!longitude || !latitude) {
                document.getElementById('output').innerText = '请输入有效的经纬度。';
                return;
            }

            // 构建 API 请求 URL
            const key = ''; // 替换为你的高德API密钥
            const location = `${longitude},${latitude}`;
            const apiUrl = `https://restapi.amap.com/v3/geocode/regeo?key=${key}&location=${location}&extensions=all&output=JSON&radius=10`;

            // 发送 API 请求
            fetch(apiUrl)
                .then(response => response.json())
                .then(data => {
                    console.log(data); // 打印返回的数据用于调试
                    if (data.status === '1' && data.regeocode) {
                        const address = data.regeocode.formatted_address; // 获取地址
                        document.getElementById('output').innerText = `具体位置: ${address}`;
                        
                        // 在地图上标记该位置
                        const lngLat = new AMap.LngLat(longitude, latitude);
                        const marker = new AMap.Marker({
                            position: lngLat,
                            title: address // 标记的标题
                        });
                        marker.setMap(map);
                        map.setCenter(lngLat); // 将地图中心移动到标记位置
                        map.setZoom(15); // 缩放级别
                    } else {
                        document.getElementById('output').innerText = '获取具体位置失败。错误信息: ' + data.info;
                    }
                })
                .catch(error => {
                    console.error('错误:', error);
                    document.getElementById('output').innerText = '请求出错,请重试。';
                });
        });
    </script>
</body>
</html>

 记得两处把你得key换了ok了

5、成品效果 

标签:web,const,编码,map,getElementById,API,key,document,高德
From: https://blog.csdn.net/apple_70049717/article/details/142827008

相关文章

  • 关于QEI(增量编码器)的verilog程序
    关于QEI的Verilog程序其实比较简单的,但是opencores上没有现成的程序,FPGA4FUN上有一个4倍频计数程序[1],但是没有一个详细原理分析过程,[2]描述了一个编码器的VHDL代码,但是觉得很复杂,为此我分析了一下增量编码器的旋转过程和AB相的电平变化规律,在这个基础上开发了QEI的Verilog程序,首......
  • CTF中Web题目的常见题型及解题姿势,零基础入门到精通,收藏这篇就够了
    一、基础知识类题目考察基本的查看网页源代码、HTTP请求、修改页面元素等。这些题很简单,比较难的比赛应该不会单独出,就算有应该也是Web的签到题。实际做题的时候基本都是和其他更复杂的知识结合起来出现。姿势:恶补基础知识就行查看网页源代码按F12就都看到了,flag一般......
  • 字符编码发展史6 — BOM字节序标记
    上一篇《字符编码发展史5—UTF-16和UTF-32》我们讲解了UTF-16和UTF-32编码。本篇我们将继续讲解字符编码中的字节序标记(BOM)。2.3.第三个阶段国际化2.3.2.Unicode的编码方式2.3.2.5.BOM1.什么是BOM?BOM是ByteOrderMark的缩写,翻译成中文是:字节序标记,主要用于文本编码......
  • ANSI 与 ASCII 的区别,编码老问题
    ANSI与ASCII的区别ANSI与ASCII在字符编码领域有着显著的区别,以下是对这两者的详细比较:ASCII全称与定义:ASCII全称AmericanStandardCodeforInformationInterchange,即美国信息交换标准代码。它是一种标准的单字节字符编码方案,主要用于显示现代英语和其他西欧语言。编码......
  • # Cocos 2 使用 webview 嵌入页面,摄像头调用没权限问题
    Cocos2使用webview嵌入页面,摄像头调用没权限问题嗯,这么说呢,这篇博文看自己的实际需求哈,标题写的可能不是很准确。我这边呢,是遇到这样一个功能,就是有一个服务,他是的页面呢,是打开电脑的摄像头,需要在cocos程序里面呢,展示摄像头的实时画面。看上去挺简单哈,但是实际做起来,还是......
  • 第31篇 实现数据同步的webapi接口
    调用接口实现数据同步demo讲解1.demo整体架构如下2.SynchronizeModel类库这个类库是主要用于实体对象模型的转换,包括请求参数实体RequestModel,数据库实体DBEntity,响应数据实体ResponseModel等,2.1新建一个数据库实体:///<summary>///被测件(雷达)模块信息表///</sum......
  • 如何将React项目,部署到Web服务器的Tomcat 上
    将React应用部署到Tomcat服务器上通常需要将其构建为静态文件,然后将这些文件放入Tomcat的webapps目录。以下是具体步骤:步骤指南1.构建React应用首先,你需要在本地构建你的React应用。npmrunbuild这会在项目根目录下生成一个build文件夹,里面包含了优化......
  • 第二十二章 编译WebRTC框架
    源代码地址:https://webrtc.googlesource.com/src.git下载后放到src目录下gitclone https://chromium.googlesource.com/chromium/src/buildtools下载后放到src目录下gitclone https://chromium.googlesource.com/chromium/src/build需要https://chromium.googlesource.co......
  • 【AI大模型】深入Transformer架构:编码器部分的实现与解析(下)
      目录......
  • 在 ASP.NET Core 中编写高性能 Web API 的4个小技巧
    WebAPI通常用来与外部模块进行通信、发送和接收数据,作为后端开发人员,应该把写出高性能的应用作为目标。下面4个技巧是我在编写WebAPI的小技巧。1、大量数据使用分页查询接口传输大量数据可能会导致严重的性能问题、过多的内存消耗和速度减慢。为了缓解这些可能的瓶颈,强......