javascript - MarkerClusterer xml markers -


what trying add markerclusterer actual code map integrated in webpage. markers created via xml file generated somewhere else. map working fine , loaded without markerclusterer.

i cannot figure out wrong code. maybe didn't how markerclusterer works correctly. hope can me.

what added initial (working) code 3 lines:

  • var markersclust = [];
  • markersclust.push(point);
  • var markercluster = new markerclusterer(map, markersclust);

all inside "script tags" in php file.

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"); (var = 0; < 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() {}  '; 

i think want in case:

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

here example use base.

<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> 

Comments

Popular posts from this blog

PHPMotion implementation - URL based videos (Hosted on separate location) -

javascript - Using Windows Media Player as video fallback for video tag -

c# - Unity IoC Lifetime per HttpRequest for UserStore -