ASP.NET显示/隐藏映射标记,在服务器端和客户端更新中具有逻辑

时间:2019-02-22 15:20:00

标签: asp.net

我想显示/隐藏带有复选框的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);
     {
 }

最好的问候,

0 个答案:

没有答案