问题标签 [mkannotationview]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
520 浏览

iphone - 如何在 UIMapView 中画线?我有两个不同的纬度和经度?

我有两个纬度和经度。一个是当前的纬度,经度,第二个是我现在通过使用两者从网络服务获得的,我想在这两者之间画一条路径,所以我该怎么办?我不知道它。请帮助我....提前致谢。 ...

0 投票
2 回答
2543 浏览

iphone - 自动显示 MKAnnotation 标注

为什么这不起作用?

谢谢,Z@K!

0 投票
2 回答
2075 浏览

iphone - iphone mkannotationview 奇怪的问题 - 可能被重用

我刚刚发现我的子类 mkannotationview 存在一个奇怪的问题。

当我添加前 5 个标记时,它们都可以正常工作。在 mkannotationview 子类中,我 NSLog 一条我看到 5 次的消息。但是,当我删除所有标记并重新绘制它们时 - 使用所有相同的方法,我只看到一次 NSLog。

就像地图正在重用现有的注释视图?有没有办法强制它每次都使用新的?

[更新代码]

所以我不能重用的原因(这可能是也可能不是问题)是我正在创建带有标签的独特标记。标记上的标签包含对单个标记的引用(将其视为产品 ID)

所以...在 ProductPlot.h

和 ProductPlot.m

然后我将注释视图子分类为 ProductPlotView.h

在 ProductPlotView.m 中

那么在我的代码中,我使用

我也有处理注释的代码。

所以...上面将采用 productID 并将其放在作为地图标记的标签上。这似乎在 FIRST 绘图实例上完美运行,但如果我删除标记(使用[mapView removeAnnotations:mapView.annotations];)然后再次调用此函数,它可以绘制点,但产品 ID 不正确。它似乎是随机绘制的。

注意:上面的代码已经删除了一些部分,所以可能有错别字

感谢您提供任何信息。

0 投票
2 回答
4311 浏览

iphone - MKAnnotationView drawRect:没有被调用

我已经实现了一个从 MKAnnotation 派生的自定义注释,称为 ContainerAnnotation,以及一个从 MKAnnotationView 派生的自定义注释视图,其中包含一个名为 ContainerAnnotationView 的 drawRect: 方法。出于某种原因,drawRect: 方法没有被调用,我不知道为什么。

这是我的注释视图的源代码。

ContainerAnnotationView.h:

ContainerAnnotationView.m:

从我的视图控制器:

我还有其他使用普通 MKAnnotation 的注释和一个工作正常的图像。我还有另一个没有实现 drawRect 的自定义注释视图:效果很好。知道我在这里做错了什么吗?

0 投票
1 回答
1375 浏览

iphone - selectAnnotation 删除后重新添加Annotation

大家好,我有一个关于 iPhone 的 mapKit 的密集问题。

我正在使用 MapKit 框架,我想要做的基本上是单击一个图钉,重新加载它,然后在再次添加后显示它的 callOut。

这是我试图开始工作的代码..

一些观察:如果我注释掉 removeAnnotations 和 addAnnotation 行,我会进入一个无限循环,因为当我 selectAnnotation:pin 时,回调(这是这个方法)被调用......否则,它不是,但那是什么? 为什么不是

被叫?

我已经阅读了太多,并且花了太多时间试图弄清楚对我的代码进行解释和修复比链接更有帮助。

提前致谢。~飞度

0 投票
1 回答
1550 浏览

iphone - 如何覆盖 MKAnnotationView 中的“选定状态”图像?

我在地图上有带有自定义图钉图像的注释视图。当我点击并按住某个图钉时,我的自定义图像消失并被默认的红色图钉取代。此默认图像以其选定(突出显示)状态显示(看起来稍暗)。如何防止所选状态图像替换我的自定义图像?

非常感谢。

0 投票
2 回答
3035 浏览

iphone - 子类 MKAnnotationView

有人曾经成功地覆盖了方法setDragStateMKAnnotationView?如果我尝试用“ mkannotationview setDragState”搜索它,我只会得到三个点击!其中之一是我在 stackoverflow 上的另一篇文章;)

参考资料说,当子MKAnnotationView类化时,子类必须关心拖动状态。但它并没有说到底如何。仅将拖动状态设置为MKAnnotationViewDragStateDragging或者更确切地说MKAnnotationViewDragStateCanceling似乎是不够的。因为如果我只是这样做,那么问题之一就是 mapview 没有接收到mapView:annotationView:didChangeDragState:fromOldState:委托函数。

我试图通过在超类中设置 dragState 来覆盖它。但是此时会发生其他错误:例如,如果我拖动 annotationView 并且我的手指从屏幕上滑出,应用程序会崩溃,并出现“无法删除 keypath dragstate 的观察者”之类的内容(但我的子类没有我知道的任何观察者) . 所以似乎还有其他事情需要关心。

在苹果开发者论坛https://devforums.apple.com/message/203107#203107的这篇文章中,来自苹果的 aroonicus 提到你必须覆盖 [MKAnnotationView setDragState:] 但遗憾的是他没有告诉如何去做。

有人可以帮忙吗?有人知道如何覆盖 setDragState 吗?是否有人创建了 MKAnnotationView 的工作子类来覆盖 setDragState?

再见,

0 投票
2 回答
768 浏览

iphone - MKAnnotationView 图像属性

我有一个带有自定义图像的MKAnnotationViewdraggable属性设置为YES),通过image属性设置。当注释添加到地图时,它具有自定义图像。但是当注释被拖动时,图像会变回默认图钉。image每次dragState更改时,我都尝试覆盖属性。这里也没有运气。

0 投票
1 回答
2254 浏览

objective-c - 重置标题/副标题后如何调整标注气泡的大小

我创建了一个具有标题和副标题的 MKAnnotation 名称 PushPin。我希望能够在以后动态更改标题。我很接近所以我宁愿不必制作一个全新的 AnnotationView,但如果我必须这样做,我想这也可以。我的问题是,一旦我更改了标题的文本,窗口就不会调整大小,并且某些文本可能会被截断,具体取决于标题最初的大小。

1) 我可以触发一个事件来再次调整标注气泡窗口的大小吗?

2)另外,我在重置标题之前先检查以确保注释确实有标题,但是在我检查后我在投射它时遇到了一些麻烦,有人可以帮我解决这个问题吗?我还是objective-c的新手,这个让我有一段时间了。



0 投票
2 回答
2278 浏览

iphone - iOs 为什么我必须实现 setCoordinate 才能让我的 Annotation 在 MKMapKit 中移动?

我正在编写一个 iPad 应用程序(os 3.2),它使用 MKMapKit 在地图上显示移动注释。通过 XML 从三个不同的来源检索信息,并在我的 Annotation 类中进行整理,然后显示在地图上。此信息每 5 秒出现一次。我的注释在需要时移动了几个月,我的这个工作正常。

以下所有代码都是代码的近似值(无法发布我公司的确切代码),并且它是逐行输入的,因此无法编译。

我的注释代码看起来像这样:

然后在我的实现中,我有类似的东西:

这很好用,所以我当然决定重新设计整个东西并将大量信息封装到其他类中。

所以现在我的代码如下所示:

新的实现:

运行这个新代码导致注释被添加到原始位置,但它们根本没有移动。当我获取 XML 提要时,我正在更新 source1、source2、source3 内的坐标。

所以经过一整天的调试和尝试各种事情后,我让它工作了。然后我开始删除我在一天中添加的所有内容,以获得以下最小的更改以使其工作,结果非常奇怪:

界面未修改。在实现中,我添加了一个方法并添加了另外三行:

谁能解释为什么需要调用一个实际上不做任何事情的方法。“nil”是一个 NSLog 语句,所以我知道它被调用了。这完全没有任何意义。

任何见解将不胜感激。

干杯,

布雷特