Javascript 谷歌地图地理编码-结果相关性
我正在使用谷歌地图Javascript API的基本功能 来自谷歌的代码示例: 正如您所知,当我们键入街道名称时,即使我们有几个结果,上面的示例也只显示了一个。我已经将其更改为循环所有结果,并且效果良好 我的问题是:Javascript 谷歌地图地理编码-结果相关性,javascript,google-maps,google-maps-api-3,Javascript,Google Maps,Google Maps Api 3,我正在使用谷歌地图Javascript API的基本功能 来自谷歌的代码示例: 正如您所知,当我们键入街道名称时,即使我们有几个结果,上面的示例也只显示了一个。我已经将其更改为循环所有结果,并且效果良好 我的问题是: geocoder.geocode结果是否按任何标准排序 如果回答是“是”,是否可以按当前用户位置的最相关/最接近位置对结果进行排序?(我将传递当前用户位置) 非常感谢据我所知,最近的一件事是使用区域偏见:如果您使用了错误的API,请尝试使用Google Places API。这按
geocoder.geocode
结果是否按任何标准排序
如果回答是“是”,是否可以按当前用户位置的最相关/最接近位置对结果进行排序?(我将传递当前用户位置)
非常感谢据我所知,最近的一件事是使用区域偏见:如果您使用了错误的API,请尝试使用Google Places API。这按受欢迎程度排序(首选)
或者,您可以使用一些代码在结果中循环,并找到与原始位置的距离。然后,您可以按距离排序(很有效,但我认为受欢迎程度是您想要的)您是否询问是否可以按与用户当前位置的距离对结果进行排序?如果是,你可以。嗨!第一个问题是:当我得到一个以上的结果时,数组是按相关性排序还是按其他排序?关于第二个问题,我不想手动排序该列表,我想知道谷歌是否有任何选项可以告诉你:地理编码这个地址的帐户在我的当前位置。因为如果你搜索像“自由之路”这样的东西,全球有好几条路,所以我想找到最近的“自由之路”。
var geocoder;
var map;
function initialize() {
geocoder = new google.maps.Geocoder();
var latlng = new google.maps.LatLng(-34.397, 150.644);
var mapOptions = {
zoom: 8,
center: latlng
}
map = new google.maps.Map(document.getElementById('map-canvas'), mapOptions);
}
function codeAddress() {
var address = document.getElementById('address').value;
geocoder.geocode( { 'address': address}, function(results, status) {
if (status == google.maps.GeocoderStatus.OK) {
map.setCenter(results[0].geometry.location);
var marker = new google.maps.Marker({
map: map,
position: results[0].geometry.location
});
} else {
alert('Geocode was not successful for the following reason: ' + status);
}
});
}
google.maps.event.addDomListener(window, 'load', initialize);