将标记 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

在 Google 路线上添加 InfoWindow

将 infoWindow 包含到 gmaps markerclusterer 中的问题

使用 Mapbox 一起添加自定义图标和标记数据