将标记 infoWindow 添加到 Mapbox 注释
Posted
技术标签:
【中文标题】将标记 infoWindow 添加到 Mapbox 注释【英文标题】:Add marker infoWindow to Mapbox annotation 【发布时间】:2016-07-31 13:40:53 【问题描述】:我尝试将自定义 UIView
添加为我的 MGLAnnotation
的信息窗口,但我不明白该怎么做。
我已经尝试了好几天,但最接近成功的方法是将我的自定义 UIView
添加为 InfoWindow
但非常小(我认为它的宽度为 500 像素,高度为 100 像素)。
如何获取完整大小的 UIView
并将其作为 infoWindow 添加到注释中?
谢谢!
【问题讨论】:
由于MGLAnnotation
没有infoWindow
属性,因此不清楚您在问什么。你能澄清一下你想要做什么吗?
如果您指的是标注视图,请参见此示例:mapbox.com/ios-sdk/examples/custom-callout
@TomHarrington 是的,我想替换单击自定义 UIView 的注释时显示的基本视图,现在更清楚了吗?
@friedbunny 我试图理解该指南,但经过数小时的尝试,我无法理解如何将自定义 UIView 连接为标注。你能帮我举个例子吗?我会很感激的。
自定义标注视图 API 比它需要的更复杂,但也不清楚您的问题是什么。如果其他人要帮助你,你应该更具体地说明:1. 你想要完成什么,2. 你遇到了什么问题,3. 你已经尝试过什么。
【参考方案1】:
请参阅此示例:https://www.mapbox.com/ios-sdk/examples/custom-callout/
具体看-[MGLMapViewDelegate mapView:calloutViewForAnnotation:]
的实现。
如果你从 XIB 加载它,你将不得不做额外的工作来初始化视图,但概念是一样的。
【讨论】:
我已经复制粘贴了本指南中的整个代码,但是当我尝试将mainBody
替换为 Self
自定义视图时,单击注释时未显示标注
我已经成功加载视图(我创建了另一个“ControllerView”并将我的自定义视图设置为mainBody
),但现在框架真的很奇怪(整个屏幕)而且我不明白如何将其设置为正确的大小以上是关于将标记 infoWindow 添加到 Mapbox 注释的主要内容,如果未能解决你的问题,请参考以下文章
使用 jQuery mobile、google maps API v3 将 infoWindow 添加到地图标记
如何将自定义的 InfoWindow 添加到 google-maps swift ui 中的标记?
将来自 url 的图像添加到自定义 InfoWindow google maps v2