[Baidu JavaScript API v3.0] ジオコーダーのアドレス解決

目次

ジオコーディング

逆ジオコーディング


ジオコーディング

必要

クリックされたポイントを特定のアドレスに解析します。

技術的なポイント

公式 Web サイトのアドレス:  JavaScript API - クイック スタート | Baidu Map API SDK

開発ドキュメント: Baidu Map JSAPI 3.0 クラス リファレンス

成し遂げる

ステップ 1: パブリックの Index.html に導入します。

<script src="http://api.map.baidu.com/api?v=3.0&ak=ak值" type="text/javascript"></script>

ステップ 2: コンポーネントで使用する

<template>
  <div>
    <div id="map"></div>
    <p>{
    
    { address }}</p>
  </div>
</template>

<script>

export default {
  data() {
    return {
      map: null,
	  point: null,
      address: ''
    };
  },
  mounted() {
    let that = this
    this.map = new BMap.Map("map");
    this.point = new BMap.Point(116.404, 39.915)
    this.map.centerAndZoom(this.point, 17);
    this.map.enableScrollWheelZoom();
    
    this.map.addEventListener("click", function(e){

    // 地址解析
    let geoc = new BMap.Geocoder(); 
    geoc.getLocation(e.point, function(rs) {  
      let addr = rs.addressComponents;  
      that.address = addr.province + addr.city + addr.district + addr.street + addr.streetNumber; // 地址:省市区街道门牌号
    })   
  },
}
</script>

<style lang="less">
#map {
  width: 300px;
  height: 300px;
}
</style>

解析する

geoc.getLocation()

逆ジオコーディング

必要

アドレスを入力した後、検索ボタンをクリックしてポイントに解析します。

技術的なポイント

公式 Web サイトのアドレス:  JavaScript API - クイック スタート | Baidu Map API SDK

開発ドキュメント: Baidu Map JSAPI 3.0 クラス リファレンス

成し遂げる

ステップ 1: パブリックの Index.html に導入します。

<script src="http://api.map.baidu.com/api?v=3.0&ak=ak值" type="text/javascript"></script>

ステップ 2: コンポーネントで使用する

<template>
  <div>    
    <!-- 搜索框 -->
    <div style="display:flex; align-items: center;">
      <el-input v-model="keyword" style="width: 210px; margin-right: 15px"></el-input>
      <el-button type="primary" @click="search()">搜索</el-button>
    </div>

    <!-- 地图 -->
    <div id="map"></div>

    <!-- 经纬度 -->
    <p>{
   
   { latlng }}</p>
  </div>
</template>

<script>

export default {
  data() {
    return {
      map: null,
      point: null,
      keyword: '',
      latlng: ''
    };
  },
  mounted() {
    this.map = new BMap.Map("map");
    this.point = new BMap.Point(116.404, 39.915)
    this.map.centerAndZoom(this.point, 17);
    this.map.enableScrollWheelZoom();
  },
  methods: {
    search() {
      let that = this
      if(this.keyword) {
        let geoc = new BMap.Geocoder(); 
        geoc.getPoint(this.keyword, function(rs) {  
            that.latlng = 'lat:' + rs.lat + 'lng:' + rs.lng
        });
      }
    },
  }
}
</script>

<style lang="less">
#map {
  width: 300px;
  height: 300px;
}
</style>

解析する

geoc.getPoint()

おすすめ

転載: blog.csdn.net/wuli_youhouli/article/details/128934880