【发布时间】:2011-01-11 16:46:30
【问题描述】:
目前,我正在开发一个应用程序,其中我必须在地图本身的点击事件上显示一个 infoWindow。
我的问题是我想在这个 infoWindow 上显示一个按钮和一个组合框。 我怎样才能做到这一点?
【问题讨论】:
标签: iphone cocoa-touch google-maps
目前,我正在开发一个应用程序,其中我必须在地图本身的点击事件上显示一个 infoWindow。
我的问题是我想在这个 infoWindow 上显示一个按钮和一个组合框。 我怎样才能做到这一点?
【问题讨论】:
标签: iphone cocoa-touch google-maps
您需要将自定义 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" />
【讨论】:
为什么不用InfoWindow本身的content属性呢?
myWindow = new google.maps.InfoWindow({
content:'<input type="checkbox" name="vehicle" value="Airplane" /><input type="button" value="Blah" />',
});
myWindow.open(map, marker);
【讨论】: