Google Maps API自动填充仅限于英国

时间:2012-02-03 15:37:13

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

  

可能重复:
  limiting google maps autocomplete to UK address only

如果有谷歌地图API V3经验的人可以帮助我,我将非常感激 - 我已经坚持了几个小时。

我正在尝试让我的自动填充功能仅返回英国地址(因为该网站位于英国),但我的代码无法正常运行,即使它看起来好像我做得对。我仍然把所有其他国家作为建议。

这是我的自动填充代码:

<script type="text/javascript">
  function initialize() {
    var mapOptions = {
      center: new google.maps.LatLng(-0.12800500000003012, 51.508129),
      zoom: 13,
      mapTypeId: google.maps.MapTypeId.ROADMAP
    };

    var bounds = new google.maps.LatLngBounds(
    new google.maps.LatLng(49.00, -13.00),
    new google.maps.LatLng(60.00, 3.00));

    var input = document.getElementById('sei');
    var autocomplete = new google.maps.places.Autocomplete(input);

    autocomplete.setBounds(bounds);

  }
  google.maps.event.addDomListener(window, 'load', initialize);
</script>

我不确定从哪里开始 - 我在论坛上找到了上述内容但我不确定它们是否100%正确。

以下是我的API包括:

<script type="text/javascript" src="http://maps.google.com/maps/api/js?libraries=places,geometry&sensor=false&region=GB&gl=gb"></script>

正如您所看到的,我在查询字符串中设置了一个区域和gl。如果你在下面看到我的图片,你会看到我的结果。是的,它稍微偏向英国 - 但仍有洛杉矶出现。

enter image description here

非常感谢任何帮助!

2 个答案:

答案 0 :(得分:5)

请注意Autocomplete class中的setBounds()方法将设置首选区域,在该区域内返回Place结果。结果有偏见,但不受限制到此区域

答案 1 :(得分:2)

你正在使用它出现的错误界限。试试这些:

(49.383639452689664,-17.39866406249996)

(59.53530451232491,8.968523437500039)