将谷歌地图 api 距离矩阵结果限制为国家/地区

Restrict google maps api distanceMatrix results to country

本文关键字:国家 地区 结果 api 谷歌地图 距离      更新时间:2023-09-26

当我从荷兰传递邮政编码时,API 从荷兰返回一个位置,从比利时返回一个位置。这是我的代码:

    <script src="https://maps.googleapis.com/maps/api/js?key=AIzaSyDbxcI_JLMuvKyeQGdho5bF0F0cj8eCGCU"></script>
<script>
    origin = "3034, Netherlands";
    destination = "9000, Netherlands";
    var service = new google.maps.DistanceMatrixService();
    service.getDistanceMatrix(
      {
          origins: [origin],
          destinations: [destination],
          travelMode: google.maps.TravelMode.DRIVING,
          avoidHighways: false,
          avoidTolls: false
      }, callback);
    function callback(response, status) {
        console.log(response);
    }
</script>

这就是结果:

    Object {rows: Array[1], originAddresses: Array[1], destinationAddresses: Array[1]}
destinationAddresses: Array[1]
0: "9000 Gent, België"
length: 1
__proto__: Array[0]
originAddresses: Array[1]
0: "3034 Rotterdam, Nederland"

谁能告诉我如何获得仅限于荷兰地区的结果?提前谢谢。

您应该

在出发地和目的地附加带有邮政编码的国家/地区名称或代码,然后您将获得来自同一国家/地区的结果。

首先指的是距离矩阵请求。你可以更具体地声明位置,那么我更喜欢在荷兰使用google.maps.LatLng对象。检查结果时,目的地 ="9000,荷兰"似乎不在荷兰。

这是关于距离矩阵的示例,并参考谷歌 API 距离矩阵在 VBA 中返回错误的 json 结果(与您的情况相同的问题。但这与 VBA 有关)

除此之外,如果您想限制地图中的缩放级别

,请参阅谷歌地图API和谷歌地图v3中的此国家/地区特定的缩放级别 - 限制可视区域和缩放级别。