指定邮编或地址谷歌地图的最近标记

时间:2014-01-26 01:05:09

标签: google-maps google-maps-api-3

我有一个包含地理编码坐标的大约500个地址的数据库。现在设置的方式是使用默认标记在地图上标记所有500个地址,现在我需要做的是能够输入地址或邮政编码并找出我的500个地址中的哪一个数据库距离输入的地址或邮政编码最近。在Google Maps API中是否有内置函数?我很好奇我将如何实现这一点我一直在寻找一种方法,而不是想出任何结果。

1 个答案:

答案 0 :(得分:2)

Google提供computeDistanceBetween函数来计算两个google.maps.LatLng点之间的直线距离。

修改脚本标记以包含可选的几何库:

<script type="text/javascript" src="http://maps.google.com/maps/api/js?sensor=false&v=3&libraries=geometry"></script>

然后调用computeDistanceBetween

var distanceInMeters = google.maps.geometry.spherical.computeDistanceBetween(origin, dest);

Dev docs @ https://developers.google.com/maps/documentation/javascript/geometry#Distance

如果您想计算实际行程距离/时间,则需要使用Google Distance Matrix API。 (正如@ Yamaha32088所述,Distance Matrix API具有非常严格的配额限制,根据您的许可证,您可能会超出限额。)

有关距离矩阵API的更多信息,请参阅https://developers.google.com/maps/documentation/distancematrix/