почему мой код не загружает файл kml .. (это самый простой способ) - PullRequest
0 голосов
/ 21 марта 2010

это мой код Google-карты:

<!DOCTYPE html PUBLIC "-//WAPFORUM//DTD XHTML Mobile 1.0//EN" "http://www.wapforum.org/DTD/xhtml-mobile10.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
    <head> 
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> 
        <meta name="viewport" content="width=device-width,minimum-scale=0.3,maximum-scale=5.0,user-scalable=yes">

    </head>
<body onload="initialize()" onunload="GUnload()">

<style type="text/css">
*{
    margin:0;
    padding:0;
    }
</style>
<!--<div style="width:100px;height:100px;background:blue;"> </div>-->
<div id="map_canvas" style="width: 500px; height: 300px;"></div>


<script src="http://maps.google.com/maps?file=api&amp;v=2&amp;key=ABQIAAAA-7cuV3vqp7w6zUNiN_F4uBRi_j0U6kJrkFvY4-OX2XYmEAa76BSNz0ifabgugotzJgrxyodPDmheRA&sensor=false"type="text/javascript"></script>

<script type="text/javascript">
var aFn;
//**********
function initialize() {
      if (GBrowserIsCompatible()) {
        var map = new GMap2(document.getElementById("map_canvas"));
        var g = new GGeoXml("b.kml");
                map.addOverlay(g);
                var center=new GLatLng(37.42228990140251,-122.0822035425683);
        map.setCenter(center, 0);

}
}
//*************



</script>
</body>
</html>

и это мой файл b.kml:

<?xml version="1.0" encoding="UTF-8"?>
<kml xmlns="http://www.opengis.net/kml/2.2">
  <Placemark>
    <name>Simple placemark</name>
    <description>Attached to the ground. Intelligently places itself 
       at the height of the underlying terrain.</description>
    <Point>
      <coordinates>-122.0822035425683,37.42228990140251,0</coordinates>
    </Point>
  </Placemark>
</kml>

почему не могу показать точку ..

спасибо

Ответы [ 2 ]

0 голосов
/ 29 сентября 2011

Вам нужно предоставить общедоступный URL-адрес для вашего файла .kml.

Вы не увидите запрос на это в firebug.API карты запрашивает ресурс у Google и передает имя вашего файла kml.Google вытягивает его на свои серверы, обрабатывает и доставляет JSON на карту на вашей странице.

ИМХО.YMMV

0 голосов
/ 21 марта 2010

Моя первая мысль, что вы пропали без вести <Document></Document> - но, глядя на документы, я не уверен, что это правильно.

Подается ли b.kml с типом пантомимы application/vnd.google-earth.kml+xml? Глядя на документацию, кажется, что это требование: http://code.google.com/apis/kml/documentation/kml_tut.html#kml_server

другие мысли:

  • введите полный URL-адрес b.kml в вызове new GGeoXml("b.kml")
  • запустите firebug и посмотрите, есть ли успешный запрос на b.kml
...