问题描述
我有一个这样的场景。用户正在输入目标地址。他选择输入下方的地址之一。而且我想记录下这个地址的经纬度。我正在使用 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)
})