Jak mogę nałożyć diagramy SVG na Google Maps?
Chciałbym dodać obraz nakładki na mapie Google. Obraz jest plikiem SVG, który wygenerowałem (Python z SVGFig).
Używam następującego kodu:
<code>if (GBrowserIsCompatible()) { var map = new GMap2(document.getElementById("map_canvas")); map.setCenter(new GLatLng(48.8, 2.4), 12); // ground overlay var boundaries = new GLatLngBounds(new GLatLng(48.283188032632829, 1.9675270369830129), new GLatLng(49.187215000000002, 2.7771877478303999)); var oldmap = new GGroundOverlay("test.svg", boundaries); map.addControl(new GSmallMapControl()); map.addControl(new GMapTypeControl()); map.addOverlay(oldmap); } </code>
Co zaskakujące, działa z Safari 4, ale nie działa z Firefoksem (w Safari 3 tło nie jest przezroczyste).
Czy ktoś ma pomysł na to, jak mogę nałożyć SVG?
PS1: Czytam takie praceto lub kod źródłowy swa.ethz.ch/googlemaps, ale wydaje się, że muszą użyć kodu JavaScript, aby przeanalizować SVG i dodać jeden po drugim wszystkie elementy (ale nie rozumiałem wszystkich źródeł ...).
PS2: SVG składa się z różnych wypełnionych ścieżek i kół, z przezroczystością. Jeśli nie ma rozwiązania do nałożenia mojego SVG, mogę użyć 2 alternatywnych rozwiązań:
rasteryzuj SVGkonwertuj ścieżki i okręgi w GPolygonachAle nie podoba mi się pierwsze rozwiązanie ze względu na niską jakość bitmapy i czas generowania go z antyaliasingiem.
A dla drugiego rozwiązania łuki, elipsy i okręgi będą musiały zostać rozłożone na małe polilinie. Wiele z nich będzie potrzebnych do dobrego wyniku. Ale mam około 3000 łuków i okręgów do rysowania, więc ...