关于高德地图API定位所在城市

javaWeb 地图定位插件 高德地图定位 基于浏览器 浏览器定位 <script type="text/javascript" src="http://webapi.amap.com/maps?v=1.3&key=16d0f1984a0d9c7cabee09c3c7e07d5d"> html { height: 100% } 阅读详情

大家好讲个题外话本人也是第一次记录这个关于定位API的文章,如果有不对或不足的地方请各位大神批评和指出, 但各位可以放心的是本文的文章是自己整理的大家可以放心阅读

AMap.Geolocation定位

不知道大家之前关于定位是怎样做的,H5中有一个方法可以做到经纬度定位navigator.geolocation.getCurrentPosition( function (position){ …代码块… } );
但是最近不知道怎么了这个不能用了简单的百度了一下原因有的说是站点http不是https的原因 我也没去验证也不知道是不是正确的;如果大家有解决的方法也可以讲解一下.
既然h5定位不行那就介绍下面高德api中的方法吧
(这里就介绍一个定位插件的方法)
AMap.Geolocation //定位插件,整合了浏览器定位、精确IP定位、sdk辅助定位多种手段

  • AMap.Geolocation 融合了浏览器定位、高精度IP定位、安卓定位sdk辅助定位等多种手段,提供了获取当前准确位置、获取当前城市信息、持续定位(浏览器定位)等功能。用户可以通过两种当时获得定位的成败和结果,一种是在 getCurrentPosition的时候传入回调函数来处理定位结果,一种是通过事件监听来取得定位结果。

注:默认情况下,PC 端优先使用精确 IP 定位,解决多数浏览器无法完成定位的现状,IP定位失败后使用浏览器定位;手机端优先使用浏览器定位,失败后使用IP定位;对于安卓 WebView 页面的开发者,可以结合定位 sdk 进行辅助定位,详细说明见useNative参数。精确IP定位时不返回accuracy字段值。

下面我贴上整理的源码 (我分成了两份都是一样的, 前面(a)的是如果急于想看效果可以将主要代码复制走整理一下就可以看到效果,后者(b)是我加了解释)

第一部分(a)

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <meta name="viewport" content="initial-scale=1.0, user-scalable=no">
    <title>获取地理位置</title>
    <style type="text/css">#iCenter{width:300px; height: 280px; border:1px #000 solid;margin:20px auto;}</style>
    <script type="text/javascript" src="http://webapi.amap.com/maps?v=1.4.3&key=申请的key值"></script>
</head>
<body>

<div id="iCenter"></div>

<script type="text/javascript">
    var mapObj = new AMap.Map('iCenter');
    mapObj.plugin('AMap.Geolocation', function () {
        geolocation = new AMap.Geolocation({
            enableHighAccuracy: true, // 是否使用高精度定位,默认:true
            noIpLocate:0,             // 是否禁止使用IP定位,默认值为0,可选值 0~3; 0可以使用IP定位,1手机设备禁止使用IP定位,2PC上禁止使用IP定位,3所有设备禁止使用IP定位
            timeout: 10000,           // 超过10秒后停止定位,默认:无穷大
            maximumAge: 0,            // 定位结果缓存0毫秒,默认:0
            convert: true,            // 自动偏移坐标,偏移后的坐标为高德坐标,默认:true
            showButton: true,         // 显示定位按钮,默认:true
            buttonPosition: 'LB',     // 定位按钮停靠位置,默认:'LB',左下角
            buttonOffset: new AMap.Pixel(10, 20), // 定位按钮与设置的停靠位置的偏移量,默认:Pixel(10, 20)
            showMarker: true,         // 定位成功后在定位到的位置显示点标记,默认:true
            showCircle: true,         // 定位成功后用圆圈表示定位精度范围,默认:true
            panToLocation: true,      // 定位成功后将定位到的位置作为地图中心点,默认:true
            zoomToAccuracy:true       // 定位成功后调整地图视野范围使定位位置及精度范围视野内可见,默认:false
        });
        mapObj.addControl(geolocation);
        geolocation.getCurrentPosition();
        AMap.event.addListener(geolocation, 'complete', onComplete); // 返回定位信息
        AMap.event.addListener(geolocation, 'error', onError);       // 返回定位出错信息
    });
    function onComplete(obj){
        var res = '经纬度:' + obj.position + 
                '\n精度范围:' + obj.accuracy + 
                '米\n定位结果的来源:' + obj.location_type + 
                '\n状态信息:' + obj.info + 
                '\n地址:' + obj.formattedAddress + 
                '\n地址信息:' + JSON.stringify(obj.addressComponent, null, 4);
        console.log(res)
    }

    function onError(obj) {
        alert(obj.info + '--' + obj.message);
        console.log(obj);
    }
</script>
</body>
</html>

第二部分(b)

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <meta name="viewport" content="initial-scale=1.0, user-scalable=no">
    <title>获取地理位置</title>
    <style type="text/css">#iCenter{width:300px; height: 280px; border:1px #000 solid;margin:20px auto;}</style>
    <script type="text/javascript" src="http://webapi.amap.com/maps?v=1.4.3&key=7292135edfd96dca8cf87ee7561c2ad5"></script>
</head>
<body>

<div id="iCenter"></div>

<script type="text/javascript">
    // 创建构造函数,创建图层所属的地图对象
    var mapObj = new AMap.Map('iCenter');
    //plugin插件的意思,用于引入工具条插件 这个方法里的第一个参数是 控件名称,
    
    mapObj.plugin('AMap.Geolocation', function () {
        //创建构造方式AMap.Geolocation (是类名); 用于定位,提供了获取用户当前准确位置、所在城市的方法
        geolocation = new AMap.Geolocation({
            enableHighAccuracy: true, // 是否使用高精度定位,默认:true
            noIpLocate:0,             // 是否禁止使用IP定位,默认值为0,可选值 0~3; 0可以使用IP定位,1手机设备禁止使用IP定位,2PC上禁止使用IP定位,3所有设备禁止使用IP定位
            timeout: 10000,           // 超过10秒后停止定位,默认:无穷大
            maximumAge: 0,            // 定位结果缓存0毫秒,默认:0
            convert: true,            // 自动偏移坐标,偏移后的坐标为高德坐标,默认:true
            showButton: true,         // 显示定位按钮,默认:true
            buttonPosition: 'LB',     // 定位按钮停靠位置,默认:'LB',左下角
            buttonOffset: new AMap.Pixel(10, 20), // 定位按钮与设置的停靠位置的偏移量,默认:Pixel(10, 20)
            showMarker: true,         // 定位成功后在定位到的位置显示点标记,默认:true
            showCircle: true,         // 定位成功后用圆圈表示定位精度范围,默认:true
            panToLocation: true,      // 定位成功后将定位到的位置作为地图中心点,默认:true
            zoomToAccuracy:true       // 定位成功后调整地图视野范围使定位位置及精度范围视野内可见,默认:false
        });
        // 在图面添加定位控件,用来获取和展示用户主机所在的经纬度位置
        mapObj.addControl(geolocation);
        geolocation.getCurrentPosition();
        AMap.event.addListener(geolocation, 'complete', onComplete); // 返回定位信息
        AMap.event.addListener(geolocation, 'error', onError);       // 返回定位出错信息
    });
    /**
        如果引入多个插件,则用数组的方式引入
        mapObj.plugin([
            'AMap.ToolBar',
            'AMap.Scale',
            'AMap.Geolocation',
            '更多插件名.....'
        ],function() {
            
            //在图面添加工具之前需要创建构造方法,底下的方式是将构造函数直接写在了addControl方法中
            ...

            // 在图面添加工具条控件,工具条控件集成了缩放、平移、定位等功能按钮在内的组合控件
            mapObj.addControl(new AMap.ToolBar());
            // 在图面添加比例尺控件,展示地图在当前层级和纬度下的比例尺
            map.addControl(new AMap.Scale());
            // 在图面添加定位控件,用来获取和展示用户主机所在的经纬度位置
            map.addControl(new AMap.Geolocation());
            //在plugin数组中添加了什么

        })
    */

    function onComplete(obj){
        var res = '经纬度:' + obj.position + 
                '\n精度范围:' + obj.accuracy + 
                '米\n定位结果的来源:' + obj.location_type + 
                '\n状态信息:' + obj.info + 
                '\n地址:' + obj.formattedAddress + 
                '\n地址信息:' + JSON.stringify(obj.addressComponent, null, 4);
        console.log(res)
    }

    function onError(obj) {
        alert(obj.info + '--' + obj.message);
        console.log(obj);
    }
</script>
</body>
</html>

注:大家一定要到官网申请key,不然是没法用的
在b部分中一些参数和方法我大致应该都讲到了,我也想不到要再说什么了,更具体的还需要大家到官方文档中去查看;
仓促整理不足之处还希望大家指出一起学习
官方文档很重要的(五星级重要):高德地图官方API文档地址: https://lbs.amap.com/api/javascript-api/reference/map-control/

Python调用高德地图web服务API实现地址与经纬度批量转换及地图可视化操作 网上在线经纬度批量转换资源(准确度稍微有偏差): 1、经纬度在线查询,地名(批量)查询经纬度,经纬度(批量)查询地名 2、经纬度查询,坐标拾取工具 高德API官方文档地址: 地理/逆地理编码:https://lbs.amap.com/api/webservice/guide/api/georegeo 坐标转换:http://lbs.amap.com/api/webservice/guide/api/convert 调用高德地图API前,需先申请高德地图key,https:/. 阅读详情

相关推荐

高德API 经纬度转换地市区县(含读取文件)

高德API 经纬度转换地市区县(含读取文件) 本文章适合初学小白,步骤如下: 步骤一: 先申请一个高德API服务key https://console.amap.com/dev/key/app 生成key完成后,接着步骤二 步骤二: 读取csv文件,如图所示: @Setter @Getter @NoArgsConstructor public class CsvFileUtil { private String[] headers; private char se

qq_40986062的博客 7215

amap 实现获取定位功能(高德api)

高德地图api获取地址,原生也可用

TwoBE9876的博客 2782

高德地图-基于IP定位与setBounds的城市视图自适应展示

本文详细解析了高德地图基于IP定位与setBounds实现城市视图自适应展示的技术方案。通过AMap.CitySearch插件自动获取用户所在城市信息,结合setBounds方法智能调整地图显示范围,无需用户授权即可实现精准定位。文章还分享了参数配置、边界适配、性能优化等实战经验,帮助开发者快速集成这一高效的地图展示功能。

weixin_30466039的博客 320

高德地图 AMap.Geolocation

AMap.Geolocation:定位插件,整合了浏览器定位、精确IP定位、sdk辅助定位多种手段 官方说明:AMap.Geolocation定位服务插件。融合了浏览器定位、高精度IP定位、安卓定位sdk辅助定位等多种手段,提供了获取当前准确位置、获取当前城市信息、持续定位(浏览器定位)等功能。用户可以通过两种当时获得定位的成败和结果,一种是在getCurrentPosition的时候传入回调函

ooiuy450的专栏 2万+

Silvaco TCAD仿真例库——肖特基二极管正向特性(例子)

此示例演示了肖特基二极管正向特性的仿真。 展示了: 使用 Atlas 语法形成二极管结构 设置阳极的肖特基势垒高度 正向偏置阳极 代码 第一部分:描述设备 mesh(网格) electrodes locations(电极位置) doping distribution(掺杂分布) 这是位于结构左侧和右侧的,2维n型器件,具有重掺杂浮动 p 型保护环区域, (2D n-type device with heavily doped floating p-type guard ring regio.

weixin_41788560的博客 2万+

库卡kuka仿真软件sim Pro 3.1简单实用教程

实验目的 建立机器人,自定义抓手,导入外部模型,掌握工具坐标、基坐标的使用,自动生成轨迹。 实验步骤 打开KUKA.Sim Pro 3.1.2仿真软件,依次点击KUKA Sim Library 3.1 → KUKA_ROBOTS→Small Robots(3kg-10kg)→Archiv→AGILUS-1 Series→sixx,双击KR 6 R700 sixx,加载机器臂到工作空间; 加载自定义抓手。双击Miscellaneous,再双击圆锥Cone设置上半径为0,下半径为40,高为100; 点击“捕

weixin_45168199的博客 4万+

关于利用高德地图API定位所在城市的一切知识点整理

一、高德地图 android 定位 SDK使用方法、步骤和注意事项。  见如下链接:http://lbs.amap.com/api/android-location-sdk/locationsummary/ 二、一些相关知识点的整理。 1、数字证书。原理基于RSA加密,小明用自己的私钥对一段信息进行加密,小红用小明的公钥解密,如果解密不成功,可以认为这段信息不是小明发送的,所以经过私钥加密的

guyixiangxy的博客 6346

AquaCrop-OSPy学习笔记02:模型输入设置

AquaCrop-OSPy的输入设置

EWBA_GIS_RS_ER的博客 3694

高德地图-根据IP定位显示当前所在城市

高德地图-IP定位方法

Komorebi的博客 5047

ROS学习笔记之——无人机PID调参过程记录

For cooperaive inquiries, please visit the website:guanweipeng.com

gwpscut的博客 6829

工创赛智能搬运小车实战:视觉定位、底盘控制与RTOS调度

智能搬运系统是嵌入式控制与机器视觉融合的典型工程实践,其核心在于视觉定位精度、运动控制稳定性与实时任务调度能力。在有限算力(如STM32H7)、低功耗约束和结构化场景下,传统CV方法(如FAST+RANSAC)比轻量级深度学习更具鲁棒性与实时性;而底盘控制需穿透PID表层,直击死区补偿、编码器硬件滤波与负载自适应等物理层细节;RTOS则不是炫技工具,而是保障多模块时序确定性的刚需——尤其在视觉-控制-执行强耦合链路中,任务优先级、事件组通信与栈安全直接影响系统存活。本文聚焦全国大学生工程训练竞赛(工创赛)真

weixin_29194693的博客 267

web H5 调用高德地图 通过ip定位获取当前城市

web H5 调用高德地图 通过ip定位获取当前城市 一、使用步骤注册高德账号,创建应该获取key ; 登录之后, 点击“应用”(头部导航栏) 注册地址拿走-------》: https://lbs.amap.com/dev/id/choose 注意这里有服务类型,提交完成后,复制 该 key 二、直接上代码 代码如下(示例): <script type="text/javascript" src="http://webapi.amap.com/maps?v=2.0&

weixin_41618917的博客 1933

【Flink】FlinkCDC获取mysql数据时间类型差8小时时区解决方案

​ 1、背景: 在我们使用FlinkCDC采集mysql数据的时候,日期类型是我们很常见的类型,但是FlinkCDC读取出来会和数据库的日期时间不一致,情况如下 FlinkCDC获取的数据中create_time字段1694597238000转换为时间戳2023-09-13 17:27:18,而数据库中原始数据如下,并没有到下午5点,这就导致了FlinkCDC读出来的时间和数据库中实际的时间不一致的情况,与数据库对比可以发现,这里的时间戳与数据库时间刚好相差了 8 个小时,在实际生产中这种情况是不

一杯咖啡半杯糖的博客 3854

如何在vue项目中使用高德地图_vue项目中使用高德地图的api实现城市的定位

今天女朋友突发奇想,让我帮她做一个可以对所在城市进行自动定位的一个小功能。我二话没说,打开电脑就是一顿操作,操作记录如下(贼拉拉详细,无论小白还是大白,都可看得懂):使用Vue-CLI构建一个Vue项目。在src目录下的views目录里创建一个City.vue(名字自取)在src目录下的router目录下的index.js文件中增加如图所示内容(path值可自取,component值则要对应第2步...

weixin_30026297的博客 2909

光谱数据预处理综合

除了化学信息,光谱还包含其他不相关或不需要的信息,如电噪声,基质背景,杂散光,散射效应等。在用化学计量学方法建立校准模型时,利用预处理方法消除光谱数据中的无关信息和噪声是非常必要的。

qq_44204759的博客 5191

损失函数大汇总(三十八)(AUCPR Loss附公式推导与代码)

本文系统介绍了AUCPR Loss的原理与应用。针对不平衡分类任务中AUC指标不够敏感的问题,提出通过优化PR曲线面积(AUCPR)来提升模型性能。文章详细推导了AUCPR的可微近似实现:首先用sigmoid函数软化阈值判断,构造可微的TP/FP/FN计数;然后基于软Precision和Recall计算近似PR曲线面积;最后通过数值积分得到可优化的损失函数。特别讨论了温度参数τ对训练稳定性的影响,并比较了AUCPR与AUC、AP等指标的异同。该方法适用于医学筛查、欺诈检测等极端不平衡场景,能更准确反映模型对

悦学共鸣,温柔以待,汇聚光芒,共同成长 441

vue 定位所在地_vue使用高德地图,精确定位&ip定位,获取城市、地区位置

初心-杨瑞超个人博客诚邀您加入qq群(IT-程序猿-技术交流群): 757345416丨(IT-程序猿-技术交流2群): 9369298281、高德地图准备点进入网址:https://lbs.amap.com/api/javascript-api/guide/abc/prepare(1)注册开发者账号(2)进入控制台(3)申请高德地图key 2、在index.html中引入高德地图3、vue中代码...

weixin_35987446的博客 2244

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

JS自动获取城市、天气预报【基于高德地图】

最近开发个人网站,有个需求是可以,并且,用来展示,查阅了很多资料,发现,因此作者费劲功夫终于做好,特别在这里记录一下,用来供小伙伴们使用~先放一个。

zheshiyangyang的博客 5431

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

通过ip定位,获取城市code值

1.Vue中使用高德定位,返回当前城市code值 第一步:引入 index.html中 <script type="text/javascript" src="//webapi.amap.com/maps?v=2.0&key=93ecd9f56d15d54c70623ae55c6ed128&plugin=AMap.CitySearch"></script> 第二步:相关位置使用 Home.vue中 1.页面挂载时调用该方法 mounted(){ this.g

我是我 1364

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

js调用高德API获取所在当前城市

可以在js代码中直接调用API接口,获取所处当前城市信息,代码如下: <script type="text/javascript"> function getCurrentCity(){ $.ajax({ type: "get", url: "http://webapi.amap.com/...

weixin_30650859的博客 524

如何不显示地图就获取位置数据?

使用“同步加载插件的方式”,引用各类插件,就可以不创建地图,直接获取地图数据。   以下用IP定位做为例子,详细讲述“如何不显示地图就获取当前位置”。   引入城市定位插件,更多插件与使用方法请见插件类总览  &lt;script type="text/javascript" src="http://webapi.amap.com/maps?v=1.3&amp;key=您的Key&a...

weixin_33794672的博客 392

高德python解决租房项目费用_高德API+.NET解决租房问题(JS相关)

经过了一个星期的修补补,以及小伙伴奉献的代码,整个项目基本处于基本稳定运行的状态。同时加入了一下新功能:IP定位:调用高德地图IP定位功能实现移动地图中心定位:调用高德地图移动地图定位实现定位城市名转58同城城市名以获得准确58同城城市域名:抓取58同城城市分类信息优化数据源、去除广告数据:小伙伴奉献代码今天主要简单讲解一下其中使用的一些高德地图API接口。#####高德地图JavaScript ...

weixin_39669204的博客 180

vue 高德天气接口,高德自定义天气图片

<template> <div class="weather"> <div class="child"> <img :src="imgUrl || defaultImgUrl"> <div class="temperature">{{ temperature || defaultTemperature }}°C</div> <div class="word">{{ weath

jack_rose_me的博客 3688

高德地图JS API实战:不传坐标,地图如何自动定位到你所在的城市?

本文深入解析高德地图JS API如何在不传入坐标的情况下实现自动定位到用户所在城市的技术细节。通过IP定位、AMap.CitySearch和setBounds等核心功能,高德地图构建了一套高效的定位决策系统,确保快速准确的城市级定位体验。文章还探讨了性能优化和异常处理的实战方案,为开发者提供高级定制建议。

weixin_30681615的博客 137
上一篇: 关于light7使用路由经验总结及踩的坑
下一篇: TP5,TP5.1iis伪静态 ,web.config配置 , iis环境下其他页面无法访问
TO_WebNow
博客等级 码龄8年 23粉丝 160原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值