Google maps 单击后,使用GeoXMl3在多边形的信息窗口中填充数据

Google maps 单击后,使用GeoXMl3在多边形的信息窗口中填充数据,google-maps,kml,geoxml3,Google Maps,Kml,Geoxml3,我使用geoXMl3一次解析多个kml文件。 我正在地图上绘制多边形。当我点击多边形时,会弹出一个信息窗口。我不知道这个信息窗口是从哪里来的 我的要求是我想通过一些java脚本对象编辑信息窗口的内容 我的java脚本对象如下 popUpDetails={'district-name':'content'} 不知道如何在我的解析器中传递它 我参考了以下几个链接: 还有,如何将数据库中的数据动态地放入某个多边形的infowindow中 我以这种方式解析kml文件: var mapProp = {

我使用geoXMl3一次解析多个kml文件。 我正在地图上绘制多边形。当我点击多边形时,会弹出一个信息窗口。我不知道这个信息窗口是从哪里来的 我的要求是我想通过一些java脚本对象编辑信息窗口的内容

我的java脚本对象如下

popUpDetails={'district-name':'content'}

不知道如何在我的解析器中传递它

我参考了以下几个链接:

还有,如何将数据库中的数据动态地放入某个多边形的infowindow中

我以这种方式解析kml文件:

var mapProp = {
    center: new google.maps.LatLng(51.508742,-0.120850),
    zoom: 5,
    mapTypeId: google.maps.MapTypeId.ROADMAP
};
var map = new google.maps.Map(document.getElementById("googleMap"), mapProp);
var parser = new geoXML3.parser({
    map: map,
    processStyles: true,
    zoom: false,
});

var infowindow = new google.maps.InfoWindow();
for (i = 0; i < ListofPathsofkmlfiles.length; i++) {
    parser.parse([ListofPathsofkmlfiles[i]]);      
}
var mapProp={
中心:新google.maps.LatLng(51.508742,-0.120850),
缩放:5,
mapTypeId:google.maps.mapTypeId.ROADMAP
};
var map=new google.maps.map(document.getElementById(“googleMap”),mapProp);
var parser=new geoXML3.parser({
地图:地图,
processStyles:对,
zoom:错,
});
var infowindow=new google.maps.infowindow();
对于(i=0;i

提前感谢您的帮助

我终于找到了同样的解决方案

var districtInfoMap = {doc_url1:infowindow_content1, doc_url2:infowindow_content2 };

var parser = new geoXML3.parser({
    createPolygon: mapDrawingToType(),
    map: map,
    processStyles: true,
    zoom: false,
    singleInfoWindow: true,
});

mapDrawingToType = function() {

    return function(placemark, doc) {
        var polygon = geoXML3.instances[geoXML3.instances.length-1].createPolygon(placemark, doc);

        if(polygon.infoWindow) {
            polygon.infoWindowOptions.content = districtInfoMap[doc.baseUrl];
    }
    return polygon;
}
您需要覆盖解析器的createPolygon属性以获得相同的结果

var districtInfoMap = {doc_url1:infowindow_content1, doc_url2:infowindow_content2 };

var parser = new geoXML3.parser({
    createPolygon: mapDrawingToType(),
    map: map,
    processStyles: true,
    zoom: false,
    singleInfoWindow: true,
});

mapDrawingToType = function() {

    return function(placemark, doc) {
        var polygon = geoXML3.instances[geoXML3.instances.length-1].createPolygon(placemark, doc);

        if(polygon.infoWindow) {
            polygon.infoWindowOptions.content = districtInfoMap[doc.baseUrl];
    }
    return polygon;
}
}

在这里,我制作了一个包含地区url和窗口内容地图的对象,您必须显示这些内容

这将覆盖信息窗口的默认显示方式,并显示您想要显示的所需内容

如果您仍然面临任何问题,请务必让我知道。

查看并了解一些想法。