W tym linku możesz uzyskać kod: http:// jquery-ui-map.googlecode.com/svn/trunk/demos/advanced-example.html Oto jak zmienić infowindow z oknem jquery (bardzo ładne), ale muszę zaimplementować ten kod w swoim kodzie: < a href="http://gmaps-samples-v3.googlecode.com/svn/trunk/articles/phpsqlajax/phpsqlajax_map_v3.html" rel="nofollow">http://gmaps-samples-v3.googlecode.com/ svn/trunk/articles/phpsqlajax/phpsqlajax_map_v3.html

Jak to zrobić? (przepraszam za angielski)

0
Andrew 13 czerwiec 2011, 22:45
code.google.com/apis/maps/articles/phpsqlsearch.html nie musisz wyprowadzać xml za pomocą PHP, tak jak w tym przykładzie, nadal jest to samouczek, do którego możesz się przyjrzeć, jeśli masz tylko statyczny plik xml.
 – 
AR.
13 czerwiec 2011, 22:50

2 odpowiedzi

Najlepsza odpowiedź

Aby otworzyć okno dialogowe zamiast InfoWindow, skomentuj ten wiersz w swoim kodzie:

bindInfoWindow(marker, map, infoWindow, html);

I zastąp go:

$('<div>').html(html).dialog();


Aby zaimplementować MarkerClusterer, zaktualizuj kod:

var mc = new MarkerClusterer(map);
mc.addMarker(marker);

Wypełnij funkcję load():

function load() {
  var dialog = $('<div>').dialog({autoOpen:false});
  var map = new google.maps.Map(document.getElementById("map"), {
    center: new google.maps.LatLng(47.6145, -122.3418),
    zoom: 13,
    mapTypeId: 'roadmap'
  });
  var infoWindow = new google.maps.InfoWindow;
  var mc = new MarkerClusterer(map);

  // Change this depending on the name of your PHP file
  downloadUrl("phpsqlajax_genxml.php", function(data) {
    var xml = data.responseXML;
    var markers = xml.documentElement.getElementsByTagName("marker");
    for (var i = 0; i < markers.length; i++) {
      var name = markers[i].getAttribute("name");
      var address = markers[i].getAttribute("address");
      var type = markers[i].getAttribute("type");
      var point = new google.maps.LatLng(
          parseFloat(markers[i].getAttribute("lat")),
          parseFloat(markers[i].getAttribute("lng")));
      var html = "<b>" + name + "</b> <br/>" + address;
      var icon = customIcons[type] || {};
      var marker = new google.maps.Marker({
        map: map,
        position: point,
        icon: icon.icon,
        shadow: icon.shadow
      });
      mc.addMarker(marker);
      //bindInfoWindow(marker, map, infoWindow, html);
      google.maps.event.addListener(marker, 'click', function() {
       dialog.html(html).dialog('open');
      });
    }
  });
}
0
js1568 14 czerwiec 2011, 00:34
Dzięki za pomoc... ale nie widzę znaczników. Oto kod: kuponik.adriamart.com/davidimo.html Gdzie się mylę? Gdzie jest błąd?
 – 
Andrew
14 czerwiec 2011, 00:04
Musisz połączyć się z kodem źródłowym MarkerClusterer w swoim head. Google, gdzie go pobrać.
 – 
js1568
14 czerwiec 2011, 00:11
Fajnie, ale okno otwiera się automatycznie... możesz zobaczyć w czym problem: kuponik.adriamart.com/ davidimo.html Przepraszam, że Cię nudzę, ale okno jquery otwiera się automatycznie i nie pokazuje się po kliknięciu znacznika. :(
 – 
Andrew
14 czerwiec 2011, 00:18
A kiedy kliknę na jeden znacznik, automatycznie zamkniemy drugie okno i pokażę inne... jak to zrobić?
 – 
Andrew
14 czerwiec 2011, 00:26
Zaktualizowałem kod, aby zawierał detektor zdarzeń. Spróbuj spojrzeć na próbki kodu, które posiadasz i dowiedzieć się, jak to działa, zamiast po prostu kopiować i wklejać. Odniesienie: code.google.com/apis/maps/documentation/javascript/ …
 – 
js1568
14 czerwiec 2011, 00:35

Będziesz musiał load() plik XML przy użyciu AJAX. Następnie możesz przeanalizować plik za pomocą selektorów JQuery i utworzyć tablicę Markers przy użyciu tych danych. Przekaż znaczniki do MarkerClusterer, a reszta kodu będzie standardową inicjalizacją mapy. Daj mi znać, jeśli potrzebujesz więcej szczegółów, ale nie mogę pomóc bez znajomości struktury XML.

1
js1568 13 czerwiec 2011, 22:51
Stworzę xml z tym plikiem: gmaps-samples.googlecode .com/svn/trunk/articles-phpsqlajax/… i wygląda tak:
 – 
Andrew
13 czerwiec 2011, 23:20
 – 
Andrew
13 czerwiec 2011, 23:22
Również parsuję xml z: gmaps-samples-v3 .googlecode.com/svn/trunk/articles/phpsqlajax/… muszę zaimplementować inny kod, ponieważ chcę pokazać jquery winow wstawione klasyczne infoWindow na mapie google.
 – 
Andrew
13 czerwiec 2011, 23:32
Także jak dodać okno jquery zamiast infowindow o tym kodzie: gps-samples-v3.googlecode.com/svn/trunk/articles/phpsqlajax/…
 – 
Andrew
13 czerwiec 2011, 23:33
To nie jest twoje pierwotne pytanie. Przepisz swoje pytanie, aby inni wiedzieli, czego potrzebujesz.
 – 
js1568
13 czerwiec 2011, 23:40