Javascript 在列表中查找与县最近的县
我一直在研究一些反向地理编码问题 用户搜索某个位置后,我从地理编码结果中提取该县Javascript 在列表中查找与县最近的县,javascript,jquery,google-maps,Javascript,Jquery,Google Maps,我一直在研究一些反向地理编码问题 用户搜索某个位置后,我从地理编码结果中提取该县 for (var i = 0; i < results[0].address_components.length; i++) { var component = results[0].address_components[i]; if (component.types[0] == "administrative_area_level_2") { var county = com
for (var i = 0; i < results[0].address_components.length; i++) {
var component = results[0].address_components[i];
if (component.types[0] == "administrative_area_level_2") {
var county = component.long_name;
}
countySearch(county);
}
如果JSON中没有匹配项,那么我想找到下一个最接近的县。我将使用一个名为findNearestCounty的函数来实现这一点。关于如何在JSON中找到下一个最近的县,有什么建议吗?我想我可以在JSON中添加一个lat/lng字段,然后这样做,但我想看看是否有人有更好的想法
谢谢
j很容易找到两点之间的距离,找到到不规则边界的距离就不那么简单了。你能把你的JSON文件也放进去吗?你说“可以在JSON中添加lat/lng字段”,JSON中有位置数据吗?要找到“最近的县”,你需要知道县在哪里(多边形或质心),以及比较位置在哪里。这就是我所想的。我将在每个县创建一些点,然后将我的搜索位置与最近的点(县)匹配。我希望能有一些巧妙的方法来使用谷歌的geocoderIf,如果你只与一个美国州合作,那么你可以手工制作一个JSON对象,其中有一个县列表,每个县都有一组相邻的县。
function countySearch(county){
$.each(countyJSON, function(i){
if(countyJSON[i].county==county)
{
console.log('math at row' + i);
}
else if(i==chapters.length-1 && chapters[i].ZIP!=zipCode)
{
console.log('no match in JSON');
findNearestCounty(county);
}
});
}