我使用 MapTiler SDK 和地理编码 API 实现了一个用于搜索目的的地图。
根据要求,我仅缩放以关注从搜索返回的顶部结果。问题在于,经过多次测试,返回的最佳结果相关性小于 0.50,并且当地图缩放到一般区域时,即使输入了准确的地址,地图标记也偏离得很远。 (查看地图)哪种设置最能提高地图搜索结果的准确性?我正在传递门牌号、街道、城镇和州(带或不带邮政编码)。
reqParams的值为:“key=%mapkey%&address=Roswell+Road+Knoxville+TN+37923&fuzzyMatch=false&limit=1”
async updateMapByAddress(): Promise<any> {
if (this.urlParams != null && this.urlParams != '') {
const reqParams = 'key='+this.mapApiKey+'&'+this.urlParams;
const results = await mapTiler.geocoding.forward(reqParams);
if (this.map) {
const mapSource: mapTiler.GeoJSONSource = this.map.getSource('search-results') as mapTiler.GeoJSONSource;
if (mapSource.type === 'geojson' && results.features.length > 0) {
mapSource.setData({
type: 'FeatureCollection',
features: results.features
});
//move marker, reset center and zoom to map area
this.marker.setLngLat([results.features[0]['center'][0], results.features[0]['center'][1]]);
this.map.setCenter([results.features[0]['center'][0], results.features[0]['center'][1]]);
this.map.setZoom(8);
}
}
}
return true;
}
基于 MapTiler 的 地理编码选项,我建议您:
proxmity
参数country
参数(例如US
)bbox
参数以获取感兴趣区域的响应考虑比较使用和不使用
Town
地址组件的结果。