5

MarkerClusterer kitaplığını Google Haritam için çalışacak şekilde denemek için aşağıdaki koda sahibim, ancak bir nedenden dolayı hiçbir şey değişmiyor. Orada döngü için biraz jinja2 var ama hepsi düzgün çalışıyor. Herhangi bir hata görebiliyor musun?Google Maps Marker Kümeleyici Çalışmıyor

<meta name="viewport" content="initial-scale=1.0, user-scalable=no" /> 
     <style type="text/css"> 
      html { height: 100% } 
      body { height: 100%; margin: 0; padding: 0 } 
      #map_canvas { height: 100% } 
     </style> 
     <script type="text/javascript" src="http://maps.googleapis.com/maps/api/js?key=AIzaSyD-pLsocZXv5mYwJsSxMghJncxa6iklFUU&sensor=false"></script> 
     <script type="text/javascript" src="/static/js/markerclusterer.js"></script> 
     <script type="text/javascript"> 

    var map;  

    function initialize() { 

     var centerlocation = {{centerlocation|json_encode|safe}}; 
     var LatLng = centerlocation.replace("(", "").replace(")", "").split(", ") 
     var Lat = parseFloat(LatLng[0]); 
     var Lng = parseFloat(LatLng[1]); 

     var zoomAmt = 10; 


     var USA = new google.maps.LatLng(Lat, Lng); 
     var mapOptions = { 
     zoom: zoomAmt, 
     center: USA, 
     mapTypeId: google.maps.MapTypeId.TERRAIN 
     }; 
     map = new google.maps.Map(document.getElementById("map_canvas"), mapOptions); 

    // Global var 
     var infowindow = new google.maps.InfoWindow(); 

    //markers array 
    var markers = []; 

    //put all the markers on the map 
    {% for location in locations %} 

    //need to do the JSON encoding because JavaScript can't have Jinja2 variables 
    //I need the safe here because Jinja2 tries to escape the characters otherwise 
    var GPSlocation = {{location.GPSlocation|json_encode|safe}};  
    var LatLng = GPSlocation.replace("(", "").replace(")", "").split(", ") 
    var Lat = parseFloat(LatLng[0]); 
    var Lng = parseFloat(LatLng[1]);  

    var markerLatlng = new google.maps.LatLng(Lat, Lng); 
    var title = {{location.title|json_encode|safe}} 
    var iwContent = {{location.render_front()|json_encode|safe}} 

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

    google.maps.event.addListener(marker, 'click', function() { 
     infowindow.setContent(iwContent); 
     infowindow.open(map, marker); 
     }); 

    //putting the marker onto the markers array 
    markers.push(marker); 


    {% endfor %} 

    //creating the marker cluster 
    var markerCluster = new MarkerClusterer(map, markers); 

    } 

    </script> 

MarkerClusterer'i aradıktan sonra haritanın normal görünmesini söylediğim gibi.

+0

Haritayı yakınlaştırırsanız kümeleniyor mu? İşte [çalışma örneği] (http://www.geocodezip.com/v3_MW_example_map3_clustered.html) kümelenme ile. – geocodezip

cevap

6

{map: map} özelliğini İşaretçiden kaldırmanız gerektiği gibi görünüyor.

Kümeleme ile bir working example İşte. chrome

Hatalar JavaScript konsolu on this page:

  • Yakalanmayan ReferenceError: GOverlay tanımlı değil markerclusterer.js: 630
  • Yakalanmayan ReferenceError: belirteçleri
  • tanımlanmamıştır

ilk sen ima markerclusterer komut dosyasının yanlış sürümünü kullanarak (GOverlay, Google Haritalar API'sı v2'den gelir)

your code'u doğru MarkerClusterer ile kullanıyorum ve işaretçi dizisini bildiriyor, kümeleyici çalışıyor, ancak InfoWindow içeriği ile birlikte bir createMarker işlevi ile ilişkilendirilebilen InfoWindow içeriği ile ilgili sorunlarınız var.

Here, işaretçileri ilişkilendirmeyi dize ile ilişkilendirmek için bir createMarker işlevi kullanan bir örnektir. Kodunuzu temel alır, ancak geliştirme için bir yer vardır (kodunuzda fazlalık var).

+0

iyi bir şey yaptım ama şimdi bunların hiçbiri görünmüyor ... – clifgray

+0

Kodunuzu canlı sürümle bağlantı kurarak test edemiyorum (PHP kullandığından beri). Sorunu gösteren bir jsfiddle yapabilir misin? Veya sorunu kodda gönderilebilecek şekilde çoğaltın. Javascript hataları alıyor musunuz? – geocodezip

+0

Burada canlı örnek: http://www.exployre.com/map Ben bir kez daha biraz kod koymak ben dev makine – clifgray

İlgili konular