草庐IT

MKTileOverlay

全部标签

MKTileOverlay 和 PINCache 库的 iOS/MapKit 缓存管理问题

我正在使用MapKit,以便通过在mapView上添加MKTileOverlay来创建卫星和雷达动画。使用UISlider和PlayButton,我可以通过播放MKOverlayRenderer的alpha(根据slider的位置将它们设置为0或0.75)来创建动画,例如GIF。动画非常流畅,我所有的卫星和雷达图block都在mapView上正确加载。我遇到了一个缓存管理问题。我意识到MapKit没有为我的tileOverlay使用缓存,这就是为什么我使用库PINCache来保存我的图block,这样它就不会在我每次播放动画时请求和下载图像。我的实现:我重写方法URLForTilePa

ios - 视网膜显示中来自 openstreetmap 的图 block

我在通过MKTileOverlay显示来自openstreetmap的图block时遇到问题;在视网膜显示中,文本和标签是一半大小(比例错误)并且map不可读。我试图更改tilesize,但使用不同的值时map显示不正确(我看不到512,而tile与128重叠)我该如何解决这个问题? 最佳答案 栅格map图block需要专门为视网膜显示器设计以避免这种情况。我会推荐类似Mapbox的东西,其APIautomaticallytakescareofthis.否则,您必须实现自己的自定义MKTileOverlayRenderer并将每个2

iOS - 解决方法 MKOverlayRenderer 和 Alpha 属性

在MKOverlayRenderer已经传递给Map之后,如何访问和修改它的alpha属性?事实上,我可以在rendererForOverlay方法中修改alpha属性:-(MKOverlayRenderer*)mapView:(MKMapView*)mapViewrendererForOverlay:(id)overlay{if([overlayisKindOfClass:[MKTileOverlayclass]]){MKTileOverlayRenderer*renderer=[[MKTileOverlayRendereralloc]initWithTileOverlay:over

ios - 为什么 MKTileOverlay 在 ios、swift4 中为 openstreet map 一遍又一遍地重复相同的图 block

我将OpenStreetmap与我们自己的iOSmap服务器一起使用。对于iOS,我找不到任何可以与我们开放的StreetMap服务器一起使用的第三方库(免费或付费)。然后我决定使用MKTileOverlay来使用MKMapView,如下所示:在我的Storyboard中添加了一个MapKitsocket。建立导出连接并使用Storyboard将委托(delegate)设置为self,然后这是我的viewdidload方法。leturltemplate="http://tile.openstreetmap.org/17/94621/62995.png"letoverlay=MKTile

ios - 子类 MKTileOverlay 不显示在 map 上

我正在尝试显示来self们的WMS服务器的WMS切片。我用旧的MKOverlay实现了这一点,但我现在试图更新它以使用MKTileOverlay但我无法显示图block。这是我的类(class):@interfaceWMSTileOverlay()@property(strong,nonatomic)NSString*API,*mapContext,*IDToken;@end@implementationWMSTileOverlay-(instancetype)initWithAPI:(NSString*)APIIDToken:(NSString*)IDTokenandMapConte

ios - MKTileOverlay:如何重新加载特定的图 block 或区域

我正在开发一个基于map的应用程序。我使用了MKTileOverlay来显示一些动态内容。当新信息到达时,有时某些图block需要重新加载。我尝试在主线程中调用overlayRenderer.setNeedsDisplayInMapRect(mapRect)但显然在我的情况下它不会触发map重绘。到目前为止,唯一可行的方法是overlayRenderer.reloadData()。但是,这将导致重新加载整个内容(而不是仅特定区域)并导致View闪烁,所以这对我来说不是一个选项。任何人都可以对此提出任何建议吗?谢谢和干杯。 最佳答案

ios - 快速在 map 上添加 MKTileOverlay

在执行过程中,图像在整个map中重复出现。我还可以指定一个UIImage来代替URLTemplate吗?我在某个特定位置添加了叠加图像。恰好在当前位置。谢谢这是我的代码:importUIKitimportMapKitclassViewController:UIViewController,MKMapViewDelegate,CLLocationManagerDelegate{@IBOutletweakvarmapView:MKMapView!letlocationManager=CLLocationManager()varlatitude:CLLocationDegrees=0.0va

android - 如何在 iOS 中使用带有自定义 map 服务器的 openstreetmap,Swift 任何库?

我们拥有自己的开放式街道map服务器,由我们公司维护。对于Android和iOS我们计划使用这个MapServer就像“http://maps.mycompanyname.com/osmtiles/15/23655/15748.png。”对于Android他们有惊人的osmdroid用于所有显示、路由和所有这些东西。它工作得很好。但是对于iOS,我们找不到这样的库。我们正在尝试使用带有自定义图block的MKMapView来做到这一点,但没有成功。喜欢拥有的功能,用标记显示任何给定位置。显示多个标记点。导航支持(可选)希望您对此有任何指导。请帮我解决一下这个。

ios - map 离线缓存

我非常需要为我的应用程序制作离线map,因为它主要是为泰国制作的,那里通常很难获得互联网连接。我现在正在为我的MKTileOverlay使用OpenStreetMap,但在实现它以供离线使用时遇到了问题。我找到了一个教程,说明子类MKTileOverlay。所以,在我的map所在的ViewController中,我有:-(void)viewWillAppear:(BOOL)animated{CLLocationCoordinate2Dcoord={.latitude=15.8700320,.longitude=100.9925410};MKCoordinateSpanspan={.la

ios - map 离线缓存

我非常需要为我的应用程序制作离线map,因为它主要是为泰国制作的,那里通常很难获得互联网连接。我现在正在为我的MKTileOverlay使用OpenStreetMap,但在实现它以供离线使用时遇到了问题。我找到了一个教程,说明子类MKTileOverlay。所以,在我的map所在的ViewController中,我有:-(void)viewWillAppear:(BOOL)animated{CLLocationCoordinate2Dcoord={.latitude=15.8700320,.longitude=100.9925410};MKCoordinateSpanspan={.la
12