高德api/腾讯api地址转经纬度

高德

首先在页面引入
<script type="text/javascript" src="https://webapi.amap.com/maps?v=1.4.14&key=申请得key值"></script>
然后再需要调用的时候

var address=$(this).siblings('p').text();
AMap.plugin('AMap.Geocoder', function() {
var geocoder = new AMap.Geocoder({
    // city 指定进行编码查询的城市,支持传入城市名、adcode 和 citycode
    city: '重庆',
});
// 使用geocoder做地理/逆地理编码
geocoder.getLocation(`${address}`, function(status, result) {
    if (status === 'complete' && result.info === 'OK') {
        // result中对应详细地理坐标信息
        var {P,Q}=result.geocodes[0].location;
        // P Q就是获取到的 经纬度
    }
})
})

腾讯
也是需要首先在页面引入script

<script charset="utf-8" src="https://map.qq.com/api/js?v=2.exp&key=您申请的key值"></script>
//腾讯地图地图
var callbacks={
    complete:function(results){
        const {lat,lng}=results.detail.location;
        //lat lng 经纬度

    },
};
geocoder = new qq.maps.Geocoder(callbacks);
geocoder.getLocation(address);//address就是传进去的地址

通过高德地图获取经纬度,然后转详细地址

ios可以定位成功,但是安卓定位失败,查阅网上资料结果是 必须为https协议,以下为实例代码

第一步:引入高德api

<script type="text/javascript" src="https://webapi.amap.com/maps?v=1.4.15&key=申请的key"></script>
var map = new AMap.Map('container', {
    resizeEnable: true
});
AMap.plugin('AMap.Geolocation', function() {
    var geolocation = new AMap.Geolocation({
        enableHighAccuracy: true,//是否使用高精度定位,默认:true
        timeout: 10000,          //超过10秒后停止定位,默认:5s
        buttonPosition:'RB',    //定位按钮的停靠位置
        buttonOffset: new AMap.Pixel(10, 20),//定位按钮与设置的停靠位置的偏移量,默认:Pixel(10, 20)
        zoomToAccuracy: true,   //定位成功后是否自动调整地图视野到定位点
    });
    map.addControl(geolocation);
    geolocation.getCurrentPosition(function(status,result){
        if(status==='complete'){
          //成功
            onComplete(result)
        }else{
          //失败
            onError(result)
        }
    });
});
//解析定位结果
function onComplete(data) {
    AMap.plugin('AMap.Geocoder', function() {
        var geocoder = new AMap.Geocoder({
            // city 指定进行编码查询的城市,支持传入城市名、adcode 和 citycode
            city: '010'
        });
        geocoder.getAddress(data.position, function(status, result) {
            if (status === 'complete' && result.info === 'OK') {
                // result为对应的地理位置详细信息
                let ss=result.regeocode.addressComponent.district;//省市
                let q=result.regeocode.addressComponent.township;//区
                let de=result.regeocode.addressComponent.street;//街道
            }
        })
    })
}
//解析定位错误信息
function onError(data) {
    toast('定位失败,请重试。');
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Swift1> Swift和OC的区别1.1> Swift没有地址/指针的概念1.2> 泛型1.3> 类型严谨 对...
    cosWriter阅读 13,871评论 1 32
  • 第一部分 HTML&CSS整理答案 1. 什么是HTML5? 答:HTML5是最新的HTML标准。 注意:讲述HT...
    kismetajun阅读 28,217评论 1 45
  • 第3章 基本概念 3.1 语法 3.2 关键字和保留字 3.3 变量 3.4 数据类型 5种简单数据类型:Unde...
    RickCole阅读 10,690评论 0 21
  • 昔年见你 马尾 淡妆 球鞋 青春靓丽 优美乐声 溢出樱口 一曲《传奇》 更是 传 奇 那年风别 六月午后 月眼...
    弘玥阅读 1,828评论 9 5
  • 如何维护客户 销售中流传着这样的一句话,维护老客户的成本是开发新客户成本的八分之一。道理我们是明白的,但是如何维护...
    5点半跑步阅读 3,644评论 0 1

友情链接更多精彩内容