单击数据填充使用 GeoXMl3 的多边形信息 window
On click Data populate in info window of a polygon using GeoXMl3
我正在使用 geoXMl3 一次解析多个 kml 文件。
我在地图上绘制了多边形。当我单击多边形时,会弹出一个信息-window。我不知道从哪里得到这个信息-window
我的要求是我想通过一些 java-script object
编辑 info-window 的内容
我的 java-script 对象会像
popUpDetails = {'district-name':'content'}.
不知道如何在我的解析器中传递它
我引用了几个链接,例如:
https://code.google.com/p/geoxml3/wiki/Usage
以及如何将数据库中的数据动态放入某个多边形的信息window中?
我正在这样解析 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]]);
}
预先感谢您的帮助
我终于找到了同样的解决方案。
您需要为此覆盖解析器的 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区地图和window你要展示的内容的对象。
这将覆盖您的信息window 显示方式的默认行为,并且您想要显示的内容将会显示。
如果您仍然遇到任何问题,请告诉我。
我正在使用 geoXMl3 一次解析多个 kml 文件。 我在地图上绘制了多边形。当我单击多边形时,会弹出一个信息-window。我不知道从哪里得到这个信息-window 我的要求是我想通过一些 java-script object
编辑 info-window 的内容我的 java-script 对象会像
popUpDetails = {'district-name':'content'}.
不知道如何在我的解析器中传递它
我引用了几个链接,例如:
https://code.google.com/p/geoxml3/wiki/Usage
以及如何将数据库中的数据动态放入某个多边形的信息window中?
我正在这样解析 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]]);
}
预先感谢您的帮助
我终于找到了同样的解决方案。
您需要为此覆盖解析器的 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区地图和window你要展示的内容的对象。
这将覆盖您的信息window 显示方式的默认行为,并且您想要显示的内容将会显示。
如果您仍然遇到任何问题,请告诉我。