Google Maps JavaScript API v3을 사용 중이며 Places API를 사용하여 자동 완성 결과를 반환합니다. Autocomplete
에서 반환 된 결과를 해당 도시의 사용자가있는 도시로 묶고 싶습니다.사용자 위치에서 LatLngBounds를 계산하십시오.
"Houston, TX, USA"와 같은 위치 정보를 실제로 지오 코딩하는 경우 Google지도 API의 응답 부분에 Autocomplete
같은 곳의 경계로 사용할 수있는 LatLngBounds
이 포함됩니다. 그러나 브라우저를 통해 사용자의 위치를 얻으므로 위도와 경도 좌표가 모두 있습니다. 가장 직접적인 해결책은 사용자의 위치를 역 지오 코딩하여 대략적인 지역을 얻은 다음 해당 지역을 지오 코딩하여 LatLngBounds
을 얻는 것입니다. 그러나, 그것은 매우 비효율적 인 것 같습니다. 이전과 이후의 지오 코딩없이이 작업을 수행하는보다 효율적인 방법이 있습니까?
장소 응답에는 반환 된 결과에 대한 뷰포트/경계가 포함되지만 다른 주소 구성 요소에는 포함되지 않습니다. – geocodezip
안녕하세요 크리스 당신이 내 대답을 언급 한 것을 보았습니다. (긍정적 인 의견에 감사드립니다.) 그렇다면이 질문을 보았고, 코드'place.geometry '로 자동 완성에서 경계를 얻을 수 있기 때문에 좀 이상하게 보였다고 생각했습니다. .viewport.getSouthWest(). lat(). toFixed (6);'(경계를 만드는 다른 세 좌표에 대해서도 마찬가지입니다.) 이게 니가 찾고 있던거야? –
감사합니다. 안타깝게도 JavaScript Geolocation API (Google이 아닌 내장 함수)의 사용자 위치를 기반으로 '자동 완성'의 경계를 설정하고 이미 설정된 '자동 완성'에서 경계를 가져 오지 않을 것입니다. 나는 약간의 해결책을 찾았는데, 나는 그것을 앞뒤로 올릴 것이다. –