Javascript 获取google maps kml中单击形状的id名称

Javascript 获取google maps kml中单击形状的id名称,javascript,jquery,google-maps-api-3,Javascript,Jquery,Google Maps Api 3,我有一张KML的地图。它加载得非常完美,我只想获得单击形状的id 我知道我可以听,但我不知道如何继续 google.maps.event.addListener(kmlLayer, 'click', function(event) { } 这是我现在的代码 <html> <head> <script src="https://maps.googleapis.com/maps/api/js"></script> <

我有一张KML的地图。它加载得非常完美,我只想获得单击形状的id

我知道我可以听,但我不知道如何继续

    google.maps.event.addListener(kmlLayer, 'click', function(event) { }
这是我现在的代码

<html>
  <head>
    <script src="https://maps.googleapis.com/maps/api/js"></script>
    <link rel="stylesheet" type="text/css" href=" {{ asset("bundles/Estadisticas/css/mapa.css") }}" />
  </head>
  <body>

    <div id="map_canvas"></div>
  </body>
  <script type="text/javascript">


var map;
var src = 'http://s000.tinyupload.com/download.php?file_id=42027229668711716761&t=4202722966871171676165346';

/**
 * Initializes the map and calls the function that creates polylines.
 */
function initialize() {
  map = new google.maps.Map(document.getElementById('map_canvas'), {
  center: new google.maps.LatLng(-34.6023448, -58.3810855),
  zoom: 2,
  mapTypeId: google.maps.MapTypeId.TERRAIN
});
loadKmlLayer(src, map);
}

/**
 * Adds a KMLLayer based on the URL passed. Clicking on a marker
 * results in the balloon content being loaded into the right-hand div.
 * @param {string} src A URL for a KML file.
 */
 function loadKmlLayer(src, map) {
  var kmlLayer = new google.maps.KmlLayer(src, {
  suppressInfoWindows: true,
  preserveViewport: false,
  map: map
 });
 google.maps.event.addListener(kmlLayer, 'click', function(kmlEvent) {
    var text = kmlEvent.featureData.name;
    showInContentWindow(text);
 });

 function showInContentWindow(text) {
    var sidediv = document.getElementById('content-window');
    sidediv.innerHTML = text;
 }
}

 google.maps.event.addDomListener(window, 'load', initialize);

 </script>
</html>

var映射;
var src='1〕http://s000.tinyupload.com/download.php?file_id=42027229668711716761&t=4202722966871171676165346';
/**
*初始化贴图并调用创建多段线的函数。
*/
函数初始化(){
map=new google.maps.map(document.getElementById('map_canvas'){
中心:新google.maps.LatLng(-34.6023448,-58.3810855),
缩放:2,
mapTypeId:google.maps.mapTypeId.TERRAIN
});
LoadKmlayer(src,地图);
}
/**
*根据传递的URL添加KMLLayer。单击标记
*导致引出序号内容加载到右侧div中。
*@param{string}src KML文件的URL。
*/
函数loadKmlayer(src,map){
var kmlLayer=new google.maps.kmlLayer(src{
suppressInfoWindows:对,
不正确:错误,
地图:地图
});
google.maps.event.addListener(Kmlayer,'click',函数(kmlEvent){
var text=kmlEvent.featureData.name;
showInContentWindow(文本);
});
函数showInContentWindow(文本){
var sidediv=document.getElementById('content-window');
sidediv.innerHTML=文本;
}
}
google.maps.event.addDomListener(窗口“加载”,初始化);

我在发布的代码中发现一个javascript错误:

Uncaught TypeError: Cannot set property 'innerHTML' of null 
您没有id=“content window”的div

更新的HTML:

<table>
    <tr>
        <td>
            <div id="map_canvas" style="height: 500px; width: 500px;"></div>
        </td>
        <td valign="top">
            <div id="content-window"></div>
        </td>
    </tr>
</table>

来自KML的数据存在于事件对象中:

google.maps.event.addListener(kmlLayer, 'click', function(event) {
    console.log(event.featureData.id);
});
featureData对象包含KML文件中Placemark标记内的大部分信息。因此,每次单击,您都可以根据需要比较或操作这些信息