웹 사이트에 http://arquitectospelomundo.com이 표시되며, 여기에 클릭 정보가 포함 된 정보를 표시하는 markerclusterer 기능이 여러 마커를 표시합니다. 지도에서 직접 클릭하면 정보 창이 올바른 위치에 나타납니다. 사이드 바 (그림 중 하나)를 클릭하면 정보창이 바깥 쪽을 향합니다. 제대로 작동하고 갑자기 변경되었습니다. 나는 그것을 이해하려고 노력하고 있지만 지금까지는 성공하지 못하고있다. 나는 올바른 방향으로 나를 가리키는 도움을 주시면 감사하겠습니다. 감사합니다.Google지도 정보창의 위치가 잘못되었습니다.
답변
문제는 MarkerClusterer와 관련이있는 것으로 보입니다.
클릭이 트리거 된 마커가 클러스터 안에 있으면 마커의지도 속성이 null이며 잘못된 위치를 얻습니다.
가능한 해결 방법 :
마커는 클러스터 내 정보창에 대한 앵커로 (visible
를 통해 숨겨진) 숨겨진 마커를 사용하는 경우 :
google.maps.event.addListener(marker, 'click', function() {
//create the dummy-marker on first click
if(!map.get('dummy')){
map.set('dummy',new google.maps.Marker({map:map,visible:false}))
}
var latLng = marker.getPosition();
//when the marker is within a cluster
if(!marker.getMap()){
//set position of the dummy
map.get('dummy').setPosition(latLng);
//use dummy as infowindow-anchor
marker= map.get('dummy');
}
map.panTo(latLng);
infowindow.setContent(contentString);
infowindow.open(map,marker);
});
해결책 주셔서 대단히 감사합니다. 나는 그것이 며칠 전에 일하고 있었던 이래로 왜 이런 일이 일어 났는지 모른다. 그러나이 규범은 문제를 해결했습니다. 다시 한번 감사드립니다. – BMM
내가 외부 마커 클러스터 러와 함께 같은 문제가 없었다 클릭하여지도를 열고 정보창을 엽니 다. 더미 마커가있는 @ Dr.Molle의 해결책은 좋은 방향이지만 문제는 팬을 사용하여 더미를 사용할 수 있지만 리스너가지도에없는 마커를 클릭하는 것입니다. 올바른 정보창이 열리지 만 자동 열기 기능은 이동할 위치를 알 수 없으므로 마지막 클릭 이후의 위치를 유지합니다. 이것은지도 외부에서 반복되는 클릭으로 인한 문제입니다. 첫 번째 클릭은 정상적으로 진행되지만 두 번째 또는 세 번째 클릭은 잘못되었거나 클러스터에있는 경우에만 작동합니다.
해결책은 마커가 클러스터에 있는지, 예를 들어지도에 부착했는지 테스트 한 다음 클릭 후 제거합니다 (지도가 느려지는 것을 방지하기 위해 꼭 필요한지 확실하지 않음). 나는 그것을 외부에서 클릭 할 때마다 호출되는 함수에 넣었습니다. 하지만 이벤트 리스너에 추가 할 수도 있습니다. 이것은 나를 위해 완벽하게 작동합니다 :
이function openInfoWindow(id){
googlemap.setZoom(13);
var marker = markers[id];
var latLng = marker.getPosition();
if(!marker.getMap()){ //if the clicked marker is in a cluster, so it is not attached to a map
marker.setMap(googlemap); //attach it to the map
google.maps.event.trigger(marker, 'click'); // the standard trigger, opens infowindow
googlemap.panTo(latLng);
marker.setMap(null); //detach it from the map (not sure if necessary
} else {
google.maps.event.trigger(marker, 'click');
googlemap.panTo(latLng);
}
return false;
}
- 1. Google지도 정보창의 Flexslider가 이미지를로드하지 않습니다.
- 2. Google지도 정보창의 드롭 다운 메뉴
- 3. v3.11에서 google.maps.visualRefresh를 사용하면 맞춤 정보창의 위치가 잘못됨
- 4. Google지도 정보창의 컨텍스트에서 jquery 선택에 대한 액세스
- 5. Google지도 정보창의 특정 높이를 설정하는 방법은 무엇입니까?
- 6. 이 Google지도 정보창의 스타일을 지정하려면 어떻게해야합니까?
- 7. iPhone 시뮬레이터 위치가 잘못되었습니다.
- 8. 안드로이드에서 GPS 위치가 잘못되었습니다.
- 9. Mapview에서 주석 위치가 잘못되었습니다.
- 10. 하위 뷰의 위치가 잘못되었습니다.
- 11. Chrome에서 버튼 위치가 잘못되었습니다.
- 12. IE에서 DIV의 위치가 잘못되었습니다
- 13. UITableView scrollIndicator 위치가 잘못되었습니다
- 14. 플렉스 툴팁 위치가 잘못되었습니다
- 15. ZeroClipboard : .swf의 위치가 잘못되었습니다.
- 16. 오류 막대의 위치가 잘못되었습니다.
- 17. CCLabelTTF의 위치가 잘못되었습니다.
- 18. BaseAdapter의 getView 위치가 잘못되었습니다.
- 19. JQuerymobile 아이콘의 위치가 잘못되었습니다.
- 20. 입력란의 메뉴 위치가 잘못되었습니다.
- 21. LocationManager.getLastKnownLocation (LocationManager.NETWORK_PROVIDER) 위치가 잘못되었습니다.
- 22. TCornerButton 캔버스에 드로잉 위치가 잘못되었습니다
- 23. 삼성 Galaxy2의 GPS 위치가 잘못되었습니다.
- 24. 반환 된 네트워크 위치가 잘못되었습니다.
- 25. Eclipse에서 디스크의 프로젝트 위치가 잘못되었습니다.
- 26. 위치 관리자 Android 위치가 잘못되었습니다
- 27. AQuery - 목록보기의 항목 위치가 잘못되었습니다.
- 28. Dojo RangeSlider 핸들의 위치가 잘못되었습니다.
- 29. Firefox에서 Nivo 슬라이더의 위치가 잘못되었습니다.
- 30. Google 크롬 CSS 위치가 잘못되었습니다.
A [최소, 테스트, 완벽한 읽을 예]를 게시하시기 바랍니다 (http://stackoverflow.com/help/mcve) 문제에 대한 질문 자체가 아닌 링크 웹 사이트. – geocodezip
면책 조항에 대한 링크를 제공해 주셔서 감사합니다. 나는 다음 번에 더 정확하게하려고 노력할 것이다. – BMM