2014-04-06 6 views
0

내가하려는 것은 웹 페이지에 통합 된지도의 실제 코드에 markerclusterer를 추가하는 것입니다. 모든 마커는 다른 곳에서 생성 된 XML 파일을 통해 만들어집니다. 지도가 잘 작동하고 모두가 표식 공시자없이 잘로드되었습니다.MarkerClusterer xml 마커

내 코드에 어떤 문제가 있는지 알 수 없습니다. 어쩌면 markerclusterer가 올바르게 작동하는지도 모르겠다. 네가 나를 도울 수 있기를 바랍니다. 내 초기 (작업) 코드에 추가 무엇

3 개 라인은 다음과 같습니다

  • var에 markersclust = [];
  • markersclust.push (point);
  • var markerCluster = new MarkerClusterer (map, markersclust);

모두가 "스크립트 태그"안에 있지만 PHP 파일에 있습니다.

echo' 
function load() { 
var map = new google.maps.Map(document.getElementById("map"), { 
center: new google.maps.LatLng(40.8333,14.25), 
zoom: 5, 
mapTypeId: \'roadmap\' 
}); 
var infoWindow = new google.maps.InfoWindow; 

downloadUrl("xml_map_public.php", function(data) { 
var xml = data.responseXML; 
var markersclust = []; 
var markers = xml.documentElement.getElementsByTagName("marker"); 
for (var i = 0; i < markers.length; i++) { 
var name = markers[i].getAttribute("name"); 
var uid = markers[i].getAttribute("uid"); 
var address = markers[i].getAttribute("address"); 
var point = new google.maps.LatLng(
parseFloat(markers[i].getAttribute("lat")), 
parseFloat(markers[i].getAttribute("lng")); 
markersclust.push(point); 
var html = "<a href=\"http://www.facebook.com/"+ uid +"\" target=\"_new\"><b>" + name + "</b></a> <br/>" + address; 
var marker = new google.maps.Marker({ 
map: map, 
position: point 
}); 
bindInfoWindow(marker, map, infoWindow, html); 
} 
}); 
var markerCluster = new MarkerClusterer(map, markersclust); 
} 

function bindInfoWindow(marker, map, infoWindow, html) { 
google.maps.event.addListener(marker, \'click\', function() { 
infoWindow.setContent(html); 
infoWindow.open(map, marker); 
}); 
} 

function downloadUrl(url, callback) { 
var request = window.ActiveXObject ? 
new ActiveXObject(\'Microsoft.XMLHTTP\') : 
new XMLHttpRequest; 

request.onreadystatechange = function() { 
if (request.readyState == 4) { 
request.onreadystatechange = doNothing; 
callback(request, request.status); 
} 
}; 

request.open(\'GET\', url, true); 
request.send(null); 
} 

function doNothing() {} 

'; 
+0

그냥 확실하게 ...이 추가 않았다 <스크립트 유형 = "텍스트/자바 스크립트"SRC를 = "http://google-maps-utility-library-v3.googlecode.com/ – smoore4

+0

예 이전 스크립트에서 markerclusterer.js를 추가했습니다 ... 나도 시도했지만 아무것도 변경되지 않았습니다! 고마워. 어쨌든 – user3407913

답변

0

나는 당신이 아마 당신의 경우에이 원하는 생각 : 여기

var marker = new google.maps.Marker({ 
map: map, 
position: point 
}); 

markersclust.push(marker); 

내가 기본으로 사용 예입니다.

<script type='text/javascript'> 

var mapOpts = {mapTypeId: google.maps.MapTypeId.ROADMAP}; 
var map = new google.maps.Map(document.getElementById("map"), mapOpts); 
var infoWindow = new google.maps.InfoWindow();var markerBounds = new google.maps.LatLngBounds(); 
var markerArray = []; 

function makeMarker(options) 
{var pushPin = new google.maps.Marker({map:map}); 
pushPin.setOptions(options); 
google.maps.event.addListener(pushPin, "click", function(){infoWindow.setOptions(options);infoWindow.open(map, pushPin);}); 
markerBounds.extend(options.position); 
markerArray.push(pushPin); 
return pushPin;} 

google.maps.event.addListener(map, "click", function(){infoWindow.close();}); 

makeMarker({title: "Berlin, Germany",position: new google.maps.LatLng(52.5234051, 13.4113999),content:""}); 
makeMarker({title: "220 E 42nd St, New York, NY 10017, USA",position: new google.maps.LatLng(40.7501762, -73.9731466),content:""}); 
makeMarker({title: "San Francisco, CA, USA",position: new google.maps.LatLng(37.7749295, -122.4194155),content:""}); 
makeMarker({title: "Middletown, OH, USA",position: new google.maps.LatLng(39.5150576, -84.3982763),content:""}); 
makeMarker({title: "Twin Lakes, Salisbury, CT 06068, USA",position: new google.maps.LatLng(42.0264482, -73.3870791),content:""}); 
makeMarker({title: "Dearborn, MI, USA",position: new google.maps.LatLng(42.3222599, -83.1763145),content:""}); 
makeMarker({title: "Essen, Germany",position: new google.maps.LatLng(51.4556432, 7.0115552),content:""}); 

map.fitBounds(markerBounds); 
var mc = new MarkerClusterer(map, markerArray); 

</script> 
+0

답장을 보내 주셔서 감사합니다.하지만 내 문제를 해결하지 못합니다. – user3407913

+0

어떻게 해결 했습니까? – smoore4

+0

아직 해결되지 않았습니다. 저는 웹 앱의 다른 부분을 코딩하고 있습니다. 알아 내면 해결책을 게시 할 것입니다. – user3407913