【发布时间】:2013-03-07 21:42:55
【问题描述】:
我正在使用 geoxml inn 来解析包含点数的 kml 文件。每个标记都有一个包含一些信息的信息窗口。现在我想要在每个信息窗口中添加一个按钮,然后单击即可在文本框中显示该特定信息窗口中的信息。
现在我的问题是如何添加这样的按钮,点击后我将获得信息窗口的信息?
以下是信息窗口的图像:
这是我到目前为止所做的代码:
function initialize() {
var mapOptions = {
center: new google
.maps.LatLng(35.898737028438, 14.5133403246687),
zoom: 17,
mapTypeId: google.maps.MapTypeId.ROADMAP
};
map = new google.maps.Map(document.getElementById("map_canvas"), mapOptions);
infowindow = new google.maps.InfoWindow({});
}
function displayKml() {
initialize();
parser = new geoXML3.parser({
map: map,
infoWindow: infowindow,
singleInfoWindow: true,
zoom: true,
markerOptions: { optimized: false }
});
parser.parse("Uploads/" + document.getElementById('<%= text2.ClientID %>').value);
}
kml 文件
<?xml version="1.0" encoding="utf-8"?>
<kml xmlns="http://www.opengis.net/kml/2.2">
<Document>
<name>route</name>
<Placemark>
<name>188</name>
<description>museum</description>
<Point>
<coordinates>14.5104009086433,35.8994513796904</coordinates>
</Point>
</Placemark>
<Placemark>
<name>196</name>
<description>museum</description>
<Point>
<coordinates>14.5105859971021,35.8991906966932</coordinates>
</Point>
</Placemark>
<Placemark>
<name>349</name>
<description>museum</description>
<Point>
<coordinates>14.5126379237713,35.8969782492105</coordinates>
</Point>
</Placemark>
</Document>
</kml>
【问题讨论】:
-
geoxml3 非常灵活,有几种方法可以做到这一点,其中一种是将 HTML 添加到您的 KML(使用 onclick 页面中的 javascript 函数)。另一个是覆盖 createMarker 函数。您的 KML 是什么样的?这是您需要添加的最后一件事吗(至少添加到映射代码中)?这仅适用于标记还是也适用于折线/多边形?
-
是的,实际上它几乎是映射代码的最后一件事。我已经用 kml 文件更新了这个问题。仅针对我打算这样做的标记。 @geocodezip
标签: google-maps button google-maps-api-3 kml infowindow