原生js获取地理位置(包括操作方式从零到一)

本文详细介绍了如何使用原生JavaScript结合高德地图API获取用户的地理位置,包括注册开发者账号、创建应用、获取密钥以及调用API获取经纬度并进行地址编码的过程。
摘要由CSDN通过智能技术生成

原生js获取地理位置(包括操作方式从零到一)

1.首先浏览器搜索高德地图开放平台
在这里插入图片描述

2.点击红框有账号就登录,没账号就注册
在这里插入图片描述

3.登录完以后接着点击控制台
在这里插入图片描述

4.点击控制台可能要认证开发者,自己选择合适自己的认证方式就可以,认证完成以后的页面是这样的,然后点击应用管理>我的应用>创建新应用
![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/1f5f36374fe941fc9adbdfc9c0579d01.png

5.创建完应用以后点击添加key
![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/b48c4c7526a74ef183ba47a47df31e8f.png
6.然后在弹框里勾选web端,填写key名称提交即可
在这里插入图片描述
7.然后你会看到页面会有你添加的key和密钥;复制你的key和密钥用于接下来的代码使用

8.使用代码

 <script src="./jquery-3.7.1.min.js"></script> //这里我引入了jquery库,主要用于请求
    <script type="text/javascript">
        window._AMapSecurityConfig = {
            securityJsCode: '你的高德应用密钥',
        }
    </script>
        <script type="text/javascript"
        src='https://webapi.amap.com/maps?v=1.4.11&key=你的高德keykey&plugin=AMap.Geolocation,AMap.Geocoder'></script>
   

9.调用api接口获取ip地址及获取地理位置

 <script>
 $.ajax({
            url: "https://api.ipify.org/?format=json",
            dataType: "json",
            success: function (data) {
                var ip = data.ip;
                $.ajax({
                    url: "https://ipapi.co/" + ip + "/json/",
                    dataType: "json",
                    success: function (data) {
                        var latitude = data.latitude;
                        var longitude = data.longitude;
                        let position = [longitude, latitude] //位置的经纬度 
                        new AMap.plugin("AMap.Geocoder", () => {
                            const geocoder = new AMap.Geocoder({
                                // city 指定进行编码查询的城市,支持传入城市名、adcode 和           citycode
                                //   city: "028" //成都
                            });
                            geocoder.getAddress(position, (status, result) => {
                                if (status === "complete" && result.info === "OK") {
                                    // result为对应的地理位置详细信息
                                    console.log(result.regeocode.addressComponent.province+'-'+result.regeocode.addressComponent.city+'-'+result.regeocode.addressComponent.district)
                                }
                            });
                        });
                    }
                });
            }
        });

10.输出结果
在这里插入图片描述

  • 8
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在 UniApp 中获取地理位置可以使用小程序的原生 API,具体步骤如下: 1. 引入权限声明:在 `manifest.json` 文件中,添加以下代码来声明获取地理位置的权限: ```json "permission": { "scope.userLocation": { "desc": "获取地理位置信息" } } ``` 2. 获取地理位置:在需要获取地理位置的页面或组件中,可以使用 `uni.getLocation` 方法来获取地理位置信息。示例代码如下: ```javascript uni.getLocation({ type: 'gcj02', success: function(res) { const latitude = res.latitude; // 纬度 const longitude = res.longitude; // 经度 } }); ``` `type` 参数指定了返回的坐标类型,可选值包括 `'wgs84'`、`'gcj02'` 和 `'bd09'`,其中 `'gcj02'` 是国测局坐标系,一般在国内使用。 3. 处理定位失败:在获取地理位置失败的情况下,可以在 `success` 回调函数中添加 `fail` 参数来处理失败情况。示例代码如下: ```javascript uni.getLocation({ type: 'gcj02', success: function(res) { const latitude = res.latitude; // 纬度 const longitude = res.longitude; // 经度 }, fail: function(err) { console.log(err); } }); ``` 注意:在使用 `uni.getLocation` 方法前,请确保已经声明了获取地理位置的权限,并且用户已经授权。如果用户未授权,则需要通过其他方式引导用户进行授权。 以上是获取地理位置的基本步骤,UniApp 还提供了其他与地理位置相关的 API,如获取地理位置的逆地址解析、监听位置变化等。具体的使用方法可以参考 UniApp 的官方文档。希望对你有所帮助!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值