我想显示/隐藏带有复选框的google maps标记。 有几个类似的样本。 Maps JavaScript API
但是所有这些示例都在客户端运行。 就我而言,必须隐藏或显示有关此标记的逻辑。 可能有很多过滤器,要知道是否应该显示标记,您需要知道所有现有复选框的状态才能知道最终答案。因此,在我看来,管理服务器端逻辑和更新标记客户评级更加容易。但是在执行服务器部分之前,我不知道如何回叫客户端。
我知道该事件OnClickRelease不存在,但我希望有这种行为。 所以我认为最好的方法应该是这样的:
JavaScript
<asp:CheckBox id="checkbox1" runat="server"
Text="ShowHide"
OnCheckedChanged="checkBox_CheckedChanged"
OnClickRelease="updateMarkers"/>
<script>
var map;
var markers = [];
function initMap() {
map = new google.maps.Map(document.getElementById('map'), {
zoom: 12,
center: haightAshbury,
mapTypeId: 'terrain'
});
loadMarkers();
}
function updateMarkers() {
for (i = 0; i < markers.length; i++) {
marker = markers[i];
marker.setVisible(marker.Keep);
}
}
</script>
C#
protected void checkBox_CheckedChanged(object sender, EventArgs e){
foreach (Marker m in markers)
{
m.Keep = IsStillVisible(checkBox);
{
}
最好的问候,