我是靠谱客的博主 幸福音响,最近开发中收集的这篇文章主要介绍前端高德地图api使用,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

高德api使用

1,初始化地图
1),高德官网申请key引入对应的高德地图包
2),初始化

 window.init = function(){
        var map = new AMap.Map('container', {
           center:[117.000923,36.675807],
           zoom:11
        });
    }
ps:必须为地图的容器设置宽高

2,获取对应的要用的组件(以地理编码为例)

AMap.plugin('AMap.Geocoder', function() {
  var geocoder = new AMap.Geocoder({
    // city 指定进行编码查询的城市,支持传入城市名、adcode 和 citycode
    city: '010'
  })

  geocoder.getLocation('北京市海淀区苏州街', function(status, result) {
    if (status === 'complete' && result.info === 'OK') {
      // result中对应详细地理坐标信息
    }
  })
})

3,注意点(就H5项目来说)
1)微信7.0以上版本对https升级了限制,并且IOS10以上也可能会有问题(具体表现我还没遇到),所有用http访问定位服务的请求都会失败。
解决办法:做兼容,移动端统一采用微信api。这又产生第二个问题
2)微信api提供的定位,有用的值只有经纬度坐标!城市名,省市区都没有。目前我的需求是必须显示出当前坐标的城市名(如果你的需求里面没有就没必要往下看了)。
解决办法:其实也不算是大坑。你遇到绝大部分问题,总有前辈遇到过。高德这时候就很温馨了,提供了组件’AMap.Geocoder’帮你解决,利用坐标来获取当前的所在地

 AMap.plugin('AMap.Geocoder',function(){
     geocoder = new AMap.Geocoder({
        city: ""//城市,默认:“全国”
     });
     // 具体传参自己看下高德api
     var lnglatXY=[坐标];//地图上所标点的坐标(顺序忘了,嘻嘻嘻)
     geocoder.getAddress(lnglatXY, function(status, res) {
     	var city = res.regeocode.addressComponent.city;
        location.city_code = res.regeocode
        self.set({
            cityName: city,
            locationInfo: location
        })
     });
})

最后

以上就是幸福音响为你收集整理的前端高德地图api使用的全部内容,希望文章能够帮你解决前端高德地图api使用所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(65)

评论列表共有 0 条评论

立即
投稿
返回
顶部