美文网首页
高德api/腾讯api地址转经纬度

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

作者: 江疏影子 | 来源:发表于2019-05-21 16:27 被阅读0次

    高德

    首先在页面引入
    <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('定位失败,请重试。');
    }
    

    相关文章

      网友评论

          本文标题:高德api/腾讯api地址转经纬度

          本文链接:https://www.haomeiwen.com/subject/egvjzqtx.html