获取在传单地图上使用 mapbox 搜索的地址的纬度/经度

问题描述

我有一个这样的场景。用户正在输入目标地址。他选择输入下方的地址之一。而且我想记录下这个地址的经纬度。我正在使用 mapBox api。我怎样才能做到这一点?我在文档中找不到或看到它。

HTML:

    <div class="col-md-12">
      <div class="row">
      <div class="col-md-12">
         <label class="control-label geocoder" for="geocoder">Address</label>
        <div id="geocoder" class="geocoder"></div>             
      </div>
      </div>
    </div>

JS:

<script type="text/javascript">
accesstoken = 'xxxxxxxx';
    
var mapBoxTiles = L.tileLayer('https://api.mapBox.com/styles/v1/mapBox/streets-v11/tiles/{z}/{x}/{y}?access_token=' + accesstoken,{
       attribution: '© <a href="https://www.mapBox.com/Feedback/">MapBox</a> © <a href="http://www.openstreetmap.org/copyright">OpenStreetMap</a>',tileSize: 512,zoomOffset: -1
});

var map = L.map('map')
  .addLayer(mapBoxTiles)
  .setView([39.525247,34.160501],6);
var geocoder = new MapBoxGeocoder({
accesstoken: accesstoken,mapBoxgl: mapBoxgl
});
document.getElementById('geocoder').appendChild(geocoder.onAdd(map));
</script>

点击搜索输入下的地址会在地图上显示该位置。当我单击该地址时,我想提醒该地址的纬度和经度。我该怎么做?谢谢。

解决方法

我解决了我的问题。我写的答案是任何人都需要帮助。

accessToken = 'xxxxxxxx';
    
var mapboxTiles = L.tileLayer('https://api.mapbox.com/styles/v1/mapbox/streets-v11/tiles/{z}/{x}/{y}?access_token=' + accessToken,{
       attribution: '© <a href="https://www.mapbox.com/feedback/">Mapbox</a> © <a href="http://www.openstreetmap.org/copyright">OpenStreetMap</a>',tileSize: 512,zoomOffset: -1
});

var map = L.map('map')
  .addLayer(mapboxTiles)
  .setView([39.525247,34.160501],6);
var geocoder = new MapboxGeocoder({
accessToken: accessToken,mapboxgl: mapboxgl
});
document.getElementById('geocoder').appendChild(geocoder.onAdd());
geocoder.on('result',e => {
  console.log(e.result)
})

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...