定位调用高德地图接口

流程

  1. 高德开放平台注册应用,选择web端接口
  2. 根据应用key拼接调用高德地图
  3. 构造地图类,构造地点查询类
  4. 初始化地图中心(根据经纬度初始化)
  5. 使用查询类查询并更新显示地点(根据经纬度定位,搜索包含根据关键字搜索等)

高德接口调用网址参考:

https://lbs.amap.com/api/webservice/guide/api/search

代码:

index.html中添加地图样式并构造类

<script type="text/javascript" src="https://webapi.amap.com/maps?v=1.4.15&key=e50a95d04b154b2f3a64f81c0b4d753f"></script>
<script type="text/javascript" src="https://cache.amap.com/lbs/static/addToolbar.js"></script>
<script type="text/javascript">
    var map = new AMap.Map("container", {
        resizeEnable: true
    });
    AMap.service(["AMap.PlaceSearch"], function() {
        //构造地点查询类
    });
</script>



map.vue中:

<template>
    <div>
      <div>
        <input type="text" v-model="address" placeholder="请输入地址定位">
        <button type="submit" @click="go">定位</button>
      </div>
      <div id="container" style="width:800px; height: 500px; margin-left: 300px"></div>

    </div>
</template>

<script>
  import axios from 'axios'
    export default {
        name: "map",
        data:function () {
            return{
            //初始化查询地点
                address:'',
                //初始化查询结果列表
                search_result:''
            }
        },
        mounted() {
        	//实例化地图类
            var map = new AMap.Map('container');
            map.setZoom(10);              //setzoom 指定缩放级别
            map.setCenter([116.39,39.9]);  //指定地图中心
        },
        methods:{
            go:function() {
                let search_result=[]
                var placeSearch = new AMap.PlaceSearch({
                  pageSize: 5, // 单页显示结果条数
                  pageIndex: 3, // 页码
                  // city: "010", // 兴趣点城市
                  // citylimit: true,  //是否强制限制在设置的城市内搜索
                  map: map, // 展现结果的地图实例
                  panel: "panel", // 结果列表将在此容器中进行展示。
                  autoFitView: false // 是否自动调整地图视野使绘制的 Marker点都处于视口的可见范围
              });
              //关键字查询
              placeSearch.search(this.address, function (status, result){
                  search_result=result.poiList.pois
                  console.log(search_result)
                  var lng=result.poiList.pois[0].location['lng']
                  var lat=result.poiList.pois[0].location['lat']
                  //切换地图中心
                  var map = new AMap.Map('container');
                  map.setZoom(14);              //setzoom 指定缩放级别
                  map.setCenter([lng,lat]);
              });

            }
        }
    }
</script>

<style scoped>

</style>

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值