我正在使用Google Maps Places API for JavaScript,并将我的界限设置为柏林,德国。
这是我的代码(我正在使用npm-module,但正如您在console.log中看到的那样,边界正确传递):
import React from 'react';
import ReactDOM from 'react-dom';
import Autocomplete from 'react-google-autocomplete';
document.addEventListener('DOMContentLoaded', function() {
ReactDOM.render(<Autocomplete
style={{width: '90%'}}
onPlaceSelected={(place) => {
console.log(place);
}}
types={[]}
bounds={new window.google.maps.LatLngBounds(
new window.google.maps.LatLng(51.2, 13.41),
new window.google.maps.LatLng(52.5200, 10.40)
)}
/>, document.getElementById('mount'));
});
现在,当我试图在附近寻找一个地方时,它首先在印度给我一个地方,然后是柏林:
所以现在我的问题是:这种行为是正常的还是我得到的东西 错误?我试图仅仅出于好奇而切换LatLng,但同样如此 结果
答案 0 :(得分:2)
您应该将strictBounds
设置为true
,以将结果限制为仅限于界限。否则你支持那个区域,但结果可能来自外部。
来自API docs:
答案 1 :(得分:0)
使用这些界限:
new google.maps.LatLngBounds(
new google.maps.LatLng(52.35, 13.1),
new google.maps.LatLng(52.65, 13.8),
)