Я хотел бы добавить оверлейное изображение на карте Google. Изображение - это SVG файл, который я сгенерировал (Python с SVGFig).
Я использую следующий код:
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);
}
Удивительно, но он работает с Safari 4, но он не работает с Firefox (с Safari 3, фон не прозрачен).
Есть ли у кого-нибудь идея о том, как я могу наложить SVG?
PS1: Я прочитал некоторые работы, такие как этот или исходный код swa.ethz.ch/googlemaps, но кажется, что они должны используйте JavaScript-код для синтаксического анализа SVG и добавьте по одному все элементы (но я не понял всех источников...).
PS2: SVG состоит из разных заполненных дорожек и кругов с прозрачностью. Если нет решения для наложения моего SVG, я могу использовать 2 альтернативных решения:
- растрировать SVG
- преобразовать пути и круги в GPolygons
Но мне не очень нравится первое решение из-за низкого качества растрового изображения и времени его создания с помощью сглаживания.
И для второго решения дуги, эллипсы и круги должны быть разложены на небольшие полилинии. Многие из них будут необходимы для хорошего результата. Но у меня есть около 3000 дуг и кругов, чтобы...