Google지도 API지도 확대는 Google 지역 정보 검색 후에 추가 된 모든 아이콘을 표시하도록 줌합니다. 모바일지도에서로드하는 데 약간 걸릴 수 있으며 자전거 타는 사람을위한이 앱에서는 뷰포트 내에 결과 만 표시하는 것을 선호합니다. 필자가 읽은 대부분의 연구는 뷰 포트 내에서만 결과를 반환 할 수 없음을 나타냅니다. 마커가 추가 된 후 맵 경계가 변경되지 않도록 할 수 있습니까? 마커가 하나만 반환되지 않는 한 현재 경계에 추가 된 마커를 표시하면 그 마커로 확대해야합니다. 따라서 피자와 같은 일반적인 것을 검색하면 패닝 또는 확대/축소없이 현재 뷰포트에 많은 피자 장소가 표시됩니다. 특정 주소를 검색하면 뷰포트 외부에 있어도 해당 마커로 확대/축소됩니다. 귀하의 질문에bounds google maps
var input = document.getElementById('target');
var searchBox = new google.maps.places.SearchBox(input);
var bounds = map.getBounds();
searchBox.setBounds(bounds);
var markers = [];
service = new google.maps.places.PlacesService(map);
google.maps.event.addListener(searchBox, 'places_changed', function() {
var places = searchBox.getPlaces();
// alert("getPlaces returns "+places.length+" places");
for (var i = 0; i < gmarkers.length; i++) {
gmarkers[i].setMap(null);
}
gmarkers = [];
var bounds = new google.maps.LatLngBounds();
for (var i = 0, place; place = places[i]; i++) {
var place = places[i];
createMarker(place);
bounds.extend(place.geometry.location);
}
map.fitBounds(bounds);
// if (markers.length == 1) map.setZoom(17);
});
google.maps.event.addListener(map, 'bounds_changed', function() {
var bounds = map.getBounds();
searchBox.setBounds(bounds);
});
ib = new InfoBox({});
구현하기가 쉽습니다. 무슨 문제가있어? 반환 된 모든 마커를 표시하도록 코드가 현재 작성되었습니다. – geocodezip
내 주요 문제는 이것이 내 첫 번째 프로젝트이며 아직 배우는 중입니다. 코드 문제에 관한 한, bounds.extend (place.geometry.location); 내 빈 경계 변수를 가져 와서 모든 마커를 표시하는 위도와 경도를 지정합니다. 그런 다음 map.fitBounds (bounds)는 실제로 해당 경계를 사용하여지도의 크기를 조정하여 모든 마커를 표시합니다. 나는 map.fitBounds를 주석 처리 해 보았습니다.지도가 움직이지는 않지만 항상지도를 유지하는 것처럼 보입니다. 또한 if 문은 추가 된 마커가 현재 경계 외부에있는 경우에만 줌합니다. – Rick