Для проверки я сохранил этот HTML-файл на моем сервере. Есть ли простой способ добавить сюда файл KML или KMZ?
<!DOCTYPE html "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="content-type" content="text/html; charset=utf-8"/> <title>Google Maps JavaScript API Example</title> <script src="http://maps.google.com/maps?file=api&v=2&key=ABCDEFghijetc&sensor=false" type="text/javascript"></script> <script type="text/javascript"> function initialize() { if (GBrowserIsCompatible()) { var map = new GMap2(document.getElementById("map_canvas")); map.setCenter(new GLatLng(59.082089,5.649456), 18, G_SATELLITE_MAP); map.setUIToDefault(); } } </script> </head> <body onload="initialize()" onunload="GUnload()"> <div id="map_canvas" style="width: 800px; height: 600px"></div> </body> </html>
Попробуйте добавить следующий JavaScript в вашу функцию инициализации:
var kml = new GGeoXml("http://yoururl.com/yourfile.kml"); map.addOverlay(kml)
Обратите внимание, что KML должен быть общедоступным URL, и существует ограничение ~ 10 МБ:
https://developers.google.com/kml/documentation/mapsSupport
Вам придется преобразовать строку KML в Gmap Polyline , что потребует немного ручного манипулирования данными или синтаксического анализатора XML.
Вы также можете попробовать этот онлайн-инструмент конвертации .