我已经实现了带有邮政编码多边形的谷歌地图,即我使用不同的邮政编码坐标在地图上绘制某些邮政编码多边形。在邮政编码多边形上,我展示了市场标记。当我点击邮政编码多边形或市场标记时,它会显示一个包含相应数据的信息窗口。但是这个窗口在地图内打开,指向相应的邮政编码/市场标记。现在我有一个要求,我必须在地图外显示信息窗口,而不管邮政编码/标记。就像我将在地图外保留一定的固定区域(可能是div),当我点击任何一个邮政编码多边形时,信息窗口将显示在该固定区域内。我们怎么做呢。
我的工作代码
var path = [
{% for polycoord in zip.zip_info.zip_polygon %}
new google.maps.LatLng({{polycoord.1}}, {{polycoord.0}}),
{% endfor %}
];
var polygon = new google.maps.Polygon(
{
path:path,
clickable:true,
strokeColor: '#000000',
strokeOpacity: 0.75,
strokeWeight: 1,
fillColor: '#333fff',
fillOpacity: 1,
}
);
google.maps.event.addListener(polygon, 'click', function (event) {
$.ajax({
type: "GET",
url: GET_DATA,
data: dataString,
success: function(res) {
if(res != '') {
var contentString = res;
var infoWindow = new google.maps.InfoWindow(
{ content: contentString });
infoWindow.setPosition(event.latLng);
infoWindow.open(map);
google.maps.event.addListener(map, 'click', function() {
infoWindow.close();
});
} else {
alert('No data found')
}
}
});
});
答案 0 :(得分:0)
应该有效(如果您的现有代码有效),未经测试。
google.maps.event.addListener(polygon, 'click', function (event) {
$.ajax({
type: "GET",
url: GET_DATA,
data: dataString,
success: function(res) {
if(res != '') {
var contentString = res;
document.getElementById('theIdOfYourDiv').innerHTML = res;
} else {
alert('No data found')
}
}
});
});