Ich hab ja schon des öfteren über Google Maps berichtet, aber über die Jahre hinweg sind nicht nur die Möglichkeiten komplexer geworden, sondern auch die Anforderungen der Kunden. Faktisch existiert kein Projekt mehr, in dem ein Kunde keine eigenen Linien in eine Karte eingezeichnet haben will.
Dummerweise haben die bekannten jQuery-Bibliotheken für Maps diese Komplexität locker an den Entwickler weiter gegeben. Es ist also nicht mehr ganz so einfach etwas in Maps zu machen. Und darüber hinaus bin ich eigentlich auch der Meinung man sollte Maps direkt verwenden, und nicht noch eine Bibliothek dazwischen setzen.
Aber dann kam leaflet.js (leaflet.js auf GitHub) – eine recht moderne und einfache Bibliothek für Google Maps. Das wirklich interessante ist, das zusammen mit Leaflet.js direkt Unterstützung für Mobile inkl. der Geolocation API kommt. Darüber hinaus besitzt Leaflet.js ein eigenes Plugin-System und kann problemlos erweitert werden.
Individuelle Icons sind immer wieder gefragt, und das Tutorial dazu ist weder komplex noch schwer. Ich würde sogar so weit gehen das man es intuitiv verstehen kann – oder?
var greenIcon = L.icon({
iconUrl: 'leaf-green.png',
shadowUrl: 'leaf-shadow.png',
iconSize: [38, 95], // size of the icon
shadowSize: [50, 64], // size of the shadow
iconAnchor: [22, 94], // point of the icon which will correspond to marker's location
shadowAnchor: [4, 62], // the same for the shadow
popupAnchor: [-3, -76] // point from which the popup should open relative to the iconAnchor
});
Das ganze geht übrigens auch über Klassen anstatt Variablen. Wenn ihr euch noch mit Google Maps herumschlagt werft einmal einen Blick auf die Bibliothek, ich denke in Sachen Google Maps ist man damit ganz weit vorne.