【问题标题】:How to add a combobox and a button to the infoWindow on Google map?如何在 Google 地图上的 infoWindow 中添加组合框和按钮?
【发布时间】:2011-01-11 16:46:30
【问题描述】:

目前,我正在开发一个应用程序,其中我必须在地图本身的点击事件上显示一个 infoWindow。

我的问题是我想在这个 infoWindow 上显示一个按钮和一个组合框。 我怎样才能做到这一点?

【问题讨论】:

    标签: iphone cocoa-touch google-maps


    【解决方案1】:

    您需要将自定义 UIView 添加到您的 MKMapView 并抑制默认的 MKAnnotation 标注视图。您的自定义 UIView 可以在标注中包含您想要的控件。

    您可能会发现以下有用:

    我认为这些帖子中的任何一篇都没有描述您的问题的明确、干净的解决方案(子视图位置的滚动问题)。我建议您重新考虑您的 UI,并考虑从标准标注右披露按钮推送一个全新的视图。我觉得自定义标注(infoWindow 等效项)不能很好地转换为 iPhone 平台。

    编辑:

    好的。所以您只想知道如何使用regular Google Maps Javascript API 在信息窗口中显示复选框?

    这是一个容易得多的问题。如果你看一下GMarker openInfoWindow,你会发现这个方法的第一个参数是一个字符串。此字符串需要在 infoWindow 中填充您想要的 HTML。因此,对于您的复选框和按钮,您需要一个 checkbox 和 button 类型的 input 元素:

    <input type="checkbox" name="vehicle" value="Airplane" />
    <input type="button" value="Blah" />
    

    【讨论】:

    • Cannonade,基本上我使用 HTML 和 javascripts 来开发这个应用程序。所以我没有使用 MKAnnotation、mapView 等。所以这里没有标注视图。我只能使用 infoWindow。
    • 我试过这个。我的 sn-p 是 map.openInfoWindow(myGeographicCoordinates,); myGeographicCoordinates 是我正在检测的触摸位置。我应该如何呈现这些标签中的信息?单引号,双引号,只会把这个语句作为字符串。再次将此字符串分配给变量会将其作为字符串。提前致谢。
    • 您需要用反斜杠转义引号。 map.openInfoWindow(myGeographicCoordinates,"");
    • @neha 很高兴听到它:)
    【解决方案2】:

    为什么不用InfoWindow本身的content属性呢?

    myWindow = new google.maps.InfoWindow({
        content:'<input type="checkbox" name="vehicle" value="Airplane" /><input type="button" value="Blah" />',
    });
    
    myWindow.open(map, marker);
    

    【讨论】:

      猜你喜欢
      • 2014-01-02
      • 2013-05-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-09-17
      • 2012-08-03
      • 1970-01-01
      • 2013-03-07
      相关资源
      最近更新 更多