【问题标题】:Restrict google maps api distanceMatrix results to country将谷歌地图 api distanceMatrix 结果限制在国家/地区
【发布时间】:2016-03-15 13:42:44
【问题描述】:

当我传递来自荷兰的邮政编码时,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"

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

【问题讨论】:

    标签: javascript google-maps-api-3


    【解决方案1】:

    首先参考Distance Matrix Requests。您可以更具体地声明位置,然后我更喜欢在荷兰使用 google.maps.LatLng 对象。检查结果时,destination = "9000, Netherlands" 似乎不在荷兰。

    这是关于distance-matrix 的示例,请参阅Google API distancematrix 在VBA 中返回错误的json 结果(与您的情况相同的问题。但这与VBA 相关)

    除此之外,如果您想限制地图的缩放级别,请参阅 Google Maps API 和 Google Maps v3 - 限制可视区域和 zoom level 中的该国家/地区特定缩放级别。

    【讨论】:

      【解决方案2】:

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2017-04-25
        • 2014-11-01
        • 1970-01-01
        • 2020-11-08
        • 2011-08-30
        • 2020-05-16
        • 2012-11-04
        • 2016-06-22
        相关资源
        最近更新 更多