我尝试使用Mapbox在地图上添加图像。 我点击了以下链接:https://docs.mapbox.com/ios/maps/examples/image-source/
如果图像尺寸大于2048 * 2048,图像将以黑色显示,如下所示:
如何使图像无限制地显示为黑色?
答案 0 :(得分:0)
您似乎正在遇到iOS Maps SDK https://github.com/mapbox/mapbox-gl-native/issues/12989的此已知问题。
一种可能的解决方法是将地理参考图像上传到您的Mapbox帐户,然后在运行时以MGLRasterStyleLayer
的形式添加到您的地图。您可以在此处查看此方法的示例:https://docs.mapbox.com/ios/maps/examples/image-source/
Mapbox的iOS Maps SDK允许您在运行时应用栅格图块。您也可以upload geo-referenced images (a.k.a. GeoTiffs) to your Mapbox account,Mapbox会将其转换为栅格图块,并为您提供一个“地图ID”,使您可以从Mapbox的API中检索此图块。地图ID看起来像这样:riastrad.1ckjd53j
(即“ username.unique_id”)。
一旦有了地图ID,就可以使用其中的一个GL SDK在运行时使用该ID将栅格图块集添加到任何地图。
在iOS上,此样板代码如下:
import Mapbox
class RasterSourceExample: UIViewController, MGLMapViewDelegate {
override func viewDidLoad() {
super.viewDidLoad()
let mapView = MGLMapView(frame: view.bounds, styleURL: MGLStyle.darkStyleURL)
mapView.setCenter(CLLocationCoordinate2D(latitude: 43.457, longitude: -75.789), zoomLevel: 4, animated: false)
mapView.autoresizingMask = [.flexibleHeight, .flexibleWidth]
mapView.tintColor = .darkGray
// Set the map view‘s delegate property.
mapView.delegate = self
view.addSubview(mapView)
}
func mapView(_ mapView: MGLMapView, didFinishLoading style: MGLStyle) {
// Create the raster tile source object
let source = MGLRasterTileSource(identifier: "tileset-source", configurationURL: URL(string: "mapbox://riastrad.1ckjd53j"))
style.addSource(source)
// Create a raster layer from the MGLRasterTileSource.
let rasterLayer = MGLRasterStyleLayer(identifier: "raster-layer", source: source)
style.addLayer(rasterLayer)
}
}
⚠️免责声明:我目前在Mapbox⚠️
工作