问题标签 [mktileoverlay]

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 投票
0 回答
51 浏览

swift - MKMapView MKTileOverlay 擦除 MKPolyline 层

我正在将此 SDK 用于地图 https://github.com/2gis/iOS-SDKs-for-tiles 但我添加的路线不可见。rendererFor 调用,但线不可见。如果我删除 MKTileOverlay 一切正常。我该如何解决?

0 投票
2 回答
299 浏览

swift - 如何从子类调用 MKTileOverlay “url”函数?获取 EXC_BAD_INSTRUCTION

我在下面标记的地方遇到运行时错误?如何从子类调用 MKTileOverlay “url”函数?得到 EXC_BAD_INSTRUCTION?

基本上想在某些地方显示自定义图块,但当不可用时退回到标准 Apple 地图图块。

在我的控制器中

0 投票
1 回答
327 浏览

ios - MKMapView - 显示可定制的网格线

我希望这些线在常规地图上可见,每个正方形代表 1x1m。在此处输入图像描述

MKTileOverlay查了一下,但没有找到太多关于它的信息。是否可以在地图上显示网格线以及更改颜色?

0 投票
1 回答
83 浏览

swift - 在将多边形或折线添加到 MKMapView 时防止替换 WMS 覆盖

我已经在 中实现了 Web 地图服务,MKMapView方法是MKTileOverlay使用MKTileOverlayRenderer. 它工作正常并正确显示自定义地图。

当我调用方法时喜欢mapView.addOverlay(polyLine)添加折线或多边形。WMS 覆盖被苹果地图过度取代。

我该如何防止这种情况?我不希望 wmsTileOverlay 在添加折线或多边形时被替换。

0 投票
1 回答
260 浏览

ios - 超过maximumZ后,MKTileOverlay Tiles消失

loadTileAtPath瓦片是通过/URLForTilePath使用子类从磁盘加载的MKTileOverlay

设置maximumZ覆盖时,超出该级别的图块(如预期的那样)不再加载。但是,上一级的瓷砖也会消失。有任何想法吗?

0 投票
0 回答
210 浏览

camera - 在 MKMapView.CameraZoomRange 最小值和 MKTileOverlay 最大值Z 之间转换

我的应用程序使用 NOAA RNC Chart Tile Service 作为我的 MKMapView 的覆盖。下载每个图表 QuiltedTileSet 时,我能够检索图块集的最大缩放级别(例如 maximumZ = 21)

可以理解,当用户试图放大超过最大 Z 级别时,图表将不会呈现。

我想以编程方式限制用户放大超过最大 Z,并使用 3500 的最小距离 CameraZoomRange 实现了一个近似值(基于反复试验):

由于并非所有 tileSet 都具有相同的 maximumZ,我想知道是否有办法从 tileSet 提供的 maximumZ 中插入 CameraZoomRange?

而且,由于并非 NOAA 的 quiltedTileSets 中的所有图块实际上都具有与请求的原始 xy 位置相同的最大缩放比例,因此 z 通常小于 21。如何在用户平移时检查最大 Z,以及如何修改 CameraZoomRange 最小值适应这个新值的距离?

我能够找到的所有旧解决方案都使用 MKCoordinateSpan 来计算最大 Z,并且不使用 iOS13 的 CameraZoomRange(例如,有没有办法限制 MKMapView 最大缩放级别?

0 投票
1 回答
86 浏览

ios - Getting an error "Expected a MKTileOverlay but got (null)" when trying to add MKTileOverlay object to MKMapView

MKMapView class is added and assigned delegate:

Then the mapView is assigned center coordinate and span is set. zoomLevel is set to 1

// I wrote URL like this because I was told that MKTileOverlay class will take care of z, x, and y value.

// urlTemplate is added to MKTileOverlay

// And just when I am about to add overlay to mapView, the app will crash:

// It takes me to AppDelegate.swift and then it shows this message:

Everything was added to viewDidLoad().

I also added renderedFor delegate functions. Like this:

0 投票
1 回答
54 浏览

ios - 如何有效地为 MapView 的每个缩放级别显示图块?

我当前用于向 MapView 添加叠加层的代码在缩放时非常慢。瓷砖最初渲染大约需要 2 或 3 秒。我想知道在用户开始放大地图之前,是否有一种方法可以调用我用来在打开应用程序时为每个缩放级别缓存所有图块的 API。或者,如果有任何其他提高效率的建议,我很乐意听到。谢谢!

这是我的代码,每 0.5 秒更改一次显示的叠加层

这是我的渲染器代码

0 投票
0 回答
10 浏览

ios - 在地图上添加多边形时,基于图块的区域地图会闪烁

如何重现?

  1. 渲染MKTileOverlay_MKMapView
  2. MKPolygon在地图视图上添加一个
  3. MKTileOverlay闪烁的内容

我的 Xcode 版本是:13.0 (13A233)。如果我在 iOS 14.2 上构建应用程序,地图视图根本不会闪烁。

我没有找到上传演示 zip 文件的方法。所以我附上下面的演示代码: