高德地图定位如何调用api?

我只需要定位出用户所在具体街道的位置,不需要地图,可以实现吗?高德的api已看晕

阅读 9.3k
1 个回答

我看了下,貌似没有得到具体街道的位置,不过可以得到经纬度相关信息

AMap.Geolocation 插件

AMap.Geolocation定位服务插件。基于HTML5的定位接口,只有支持该定位接口的浏览器才能使用该功能。它在浏览器原生定位接口基础上增加了高德地图坐标纠偏功能和在地图上展现定位结果的功能,集成了IP定位和缓存策略。用户可以通过自定义回调函数取回定位结果。若定位失败,系统将返回错误信息。

注:当浏览器原生定位接口定位失败后,系统会调用IP定位,返回定位点所在城市中心点。此时,定位精度范围返回null

mapObj = new AMap.Map('iCenter');
mapObj.plugin('AMap.Geolocation', function () {
    geolocation = new AMap.Geolocation({
        enableHighAccuracy: true,//是否使用高精度定位,默认:true
        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);
    AMap.event.addListener(geolocation, 'complete', onComplete);//返回定位信息
    AMap.event.addListener(geolocation, 'error', onError);      //返回定位出错信息
});

//这里得到你想要的信息
var onComplete = function(result){
    result.LngLat;//这里面获得经纬度的相关信息
}

图片描述

高德地图定位Demo


补充内容:

//经纬度是你自己得到的,我这里只是写个例子
var lnglat = '23.125178,113.280637';
//可以用百度地图得到想要的东西
$.get('http://api.map.baidu.com/geocoder/v2/?ak=Aclg79s6C7oXzoH4zjdKtwvS4IXG7HmH&callback=renderOption&output=json&location='+lnglat,
function(res){
    //这里面基本上就是你要的东西
    
/*
得到的数据基本上是这样了:
{
    "status": 0,
    "result": {
        "location": {
            "lng": 113.28063699999997,
            "lat": 23.125178011009627
        },
        "formatted_address": "广东省广州市越秀区珠光路39-1号",
        "business": "二沙岛,岭南,大新",
        "addressComponent": {
            "country": "中国",
            "country_code": 0,
            "province": "广东省",
            "city": "广州市",
            "district": "越秀区",
            "adcode": "440104",
            "street": "珠光路",
            "street_number": "39-1号",
            "direction": "附近",
            "distance": "1"
        },
        "pois": [],
        "poiRegions": [],
        "sematic_description": "珠光街社区服务中心办公大楼附近46米",
        "cityCode": 257
    }
}
    */
},'json');
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题