有没有办法从地图框中的搜索位置检索坐标?
Is there any way to retrieve coordinates from searched location in mapbox?
我正在使用 mapbox 地理编码器在我的一个 mapbox 项目中搜索位置。我能够成功实现搜索功能,但我很难从 searched/suggested 地址列表中提取用户选择的地址。
有什么办法可以得到搜索到的地方的坐标吗?
我浏览了 mapbox 文档,但只发现了一个事件 'moveend',当我们飞往某个位置时会触发该事件。所以我正在监听那个事件,一旦被触发,我就会在地图上调用 getBounds() 函数。它以某种方式工作,但它没有给我确切的坐标,因为 getBounds() 给出了盒子的西南和东北坐标。我们可以获取所选地点的确切坐标吗?
下面是我用来搜索地点的代码。
initMapSearch() {
var _this = this;
var geocoder = new MapboxGeocoder({ accessToken: environment.mapbox.accessToken, mapboxgl: mapboxgl });
this.locationObj = geocoder.onAdd(_this.map)
document.getElementById('geocoder').appendChild(this.locationObj);
}
这是我的 moveend 活动。
this.map.on('moveend', function() {
_this.lat = _this.map.getBounds()["_ne"]["lng"];
_this.long = _this.map.getBounds()["_ne"]["lat"];
});
提前感谢社区。
您应该收听通过该功能(及其位置)的 geocoder.on('result')
。
我正在使用 mapbox 地理编码器在我的一个 mapbox 项目中搜索位置。我能够成功实现搜索功能,但我很难从 searched/suggested 地址列表中提取用户选择的地址。
有什么办法可以得到搜索到的地方的坐标吗?
我浏览了 mapbox 文档,但只发现了一个事件 'moveend',当我们飞往某个位置时会触发该事件。所以我正在监听那个事件,一旦被触发,我就会在地图上调用 getBounds() 函数。它以某种方式工作,但它没有给我确切的坐标,因为 getBounds() 给出了盒子的西南和东北坐标。我们可以获取所选地点的确切坐标吗?
下面是我用来搜索地点的代码。
initMapSearch() {
var _this = this;
var geocoder = new MapboxGeocoder({ accessToken: environment.mapbox.accessToken, mapboxgl: mapboxgl });
this.locationObj = geocoder.onAdd(_this.map)
document.getElementById('geocoder').appendChild(this.locationObj);
}
这是我的 moveend 活动。
this.map.on('moveend', function() {
_this.lat = _this.map.getBounds()["_ne"]["lng"];
_this.long = _this.map.getBounds()["_ne"]["lat"];
});
提前感谢社区。
您应该收听通过该功能(及其位置)的 geocoder.on('result')
。