: 특히 날 미치게 두 번째 점 ...
감사
편집 나는이 문제를 조사하기 위해 URL을 제공하지 않는 경우 어떻게 당신이 나를 도울 수에 대한 에러 http://victorinox.pythonanywhere.com/static/js/manager_functions.js에, 라인 143 :
map.setCenter(google.maps.LatLng(loc.coords.latitude, loc.coords.longitude));
는이어야
,
map.setCenter(newgoogle.maps.LatLng(loc.coords.latitude, loc.coords.longitude));
//------------^
기타 : 사용자가 HTML5-geolocation에 대한 권한을 거부하면 Firefox가 오류 콜백을 실행하지 않습니다. 그렇기 때문에 센터가 필수 옵션이므로지도가로드되지 않는 다른 위치에지도 센터를 설정하지 않았다는 사실 때문에.
센터가 초기화 될 것으로 생각할 수 있지만 사용자가 geolocation에 대한 권한을 거부하면 firefox initialize가 호출되지 않습니다. 이것 좀보세요 :
$(function() {
//creates the map, no center will be set in createMap()
map = createMap();
//in firefox there will not be set a center
//when user denies permission, because error-callback will not execute
geolocalize();
// when the map
center = map.getCenter();
//will never run, because when the map doesn't have a center
//there will no tiles load
google.maps.event.addListenerOnce(map, 'tilesloaded', function() {
initialize();
});
})
제안 : 는 현재 당신이 마커의 깜박 거리는 선물을 가지고있다. 여러 이벤트 (확대/축소, 드래그, 크기 조정)에 마커를 다시로드하고 모든 마커를 삭제 한 다음 XHR 응답을 기반으로 마커를 새로 만듭니다.
대신 마커 용 캐시를 만들어야합니다 (예 : XHR 응답에서 제공 한 일부 ID를 기반으로 식별 할 수있는 위치). 새 응답을 받으면 캐시 내에 있지 않은 경우에만 새 마커를 만들고 다른 마커는지도에 계속 표시됩니다 (뷰포트에 표시되지 않는 마커를 제거하거나 숨길 때 어떤 이점도 보이지 않음)
3 이벤트 대신 bounds_changed의 마커를 업데이트하는 것만으로도 충분합니다.
Google 크롬에서 JS 오류가 발생합니다. '잡히지 않은 유형 오류 : victorinox.pythonanywhere.com : 56'에 'lat'의 메서드 'lat'를 호출 할 수 없습니다. – ComFreek
어떻게이 오류가 발생 했습니까? 지도를 확대/축소하여 다시 확인했습니다. 오류가 발생하지 않았습니다 ... – renard
이상해, 더 이상 오류를 재현 할 수 없습니다. 그러나 어쨌든지도를 볼 수는 없으며 단지 회색 사각형입니다. – ComFreek