componentRestrictions无法在google地图

时间:2017-06-29 06:54:23

标签: javascript google-maps reverse-geocoding google-geocoding-api

当我第一次在我的项目中实施谷歌地图时,它工作正常但突然停止工作并开始给出如下错误。

InvalidValueError:无法同时设置placeId和componentRestrictions

当我删除 componentRestrictions 选项时,它工作正常。

google maps api有没有变化?

请参阅我的以下代码

// Initialize the map.
function initMap() {
  var map = new google.maps.Map(document.getElementById('map'), {
    zoom: 8,
    center: {lat: 40.72, lng: -73.96}
  });
  var geocoder = new google.maps.Geocoder;
  var infowindow = new google.maps.InfoWindow;

  document.getElementById('submit').addEventListener('click', function() {
    geocodePlaceId(geocoder, map, infowindow);
  });
}

// This function is called when the user clicks the UI button requesting
// a reverse geocode.
function geocodePlaceId(geocoder, map, infowindow) {
  var placeId = document.getElementById('place-id').value;
  geocoder.geocode({
  'placeId': placeId,
   componentRestrictions: {
         country: 'USA'  
     }
  }, function(results, status) {
    if (status === 'OK') {
      if (results[0]) {
        map.setZoom(11);
        map.setCenter(results[0].geometry.location);
        var marker = new google.maps.Marker({
          map: map,
          position: results[0].geometry.location
        });
        infowindow.setContent(results[0].formatted_address);
        infowindow.open(map, marker);
      } else {
        window.alert('No results found');
      }
    } else {
      window.alert('Geocoder failed due to: ' + status);
    }
  });
}

jsFiddle链接。

1 个答案:

答案 0 :(得分:0)

是的,我实际上找到了它在同一天停止工作的原因。

但是现在我正在分享,无意中我使用了谷歌地图Api实验版,如下所示,谷歌不时升级。

https://maps.googleapis.com/maps/api/js?key= yourapikey &安培; V =&3.exp放大器;库=地方

但是现在我使用的是谷歌地图api的冷冻版本, v = 3.27

您可以从以下链接中找到google map api版本

https://developers.google.com/maps/documentation/javascript/versions

您可以从以下链接中找到google map api发行说明

https://developers.google.com/maps/documentation/javascript/releases