-1

所以基本上我想使用我绘制的 SVG 文件作为 Google Maps iOS API 3 的叠加层。每当我使用 .jpg 文件时,它似乎都可以正常工作。我正在使用 iOS 12

我试过切换文件名,但它似乎仍然只适用于 JPEGS,不确定 PNGS。

这是我的代码:

let camera = GMSCameraPosition.camera(withLatitude: 47.457925, longitude: 8.548466, zoom: 16.0)

        let southWest = CLLocationCoordinate2D(latitude: 47.444561, longitude: 8.534752)
        let northEast = CLLocationCoordinate2D(latitude: 47.483037, longitude: 8.575470)

        let overlayBounds = GMSCoordinateBounds(coordinate: southWest, coordinate: northEast)

        let icon = UIImage(named: "lszh-int-lv-main.svg")

        let overlay = GMSGroundOverlay(bounds: overlayBounds, icon: icon)

        overlay.bearing = 0
        overlay.map = mapView

        mapView.camera = camera
        mapView.animate(to: camera)

我没有收到任何有关 SVG 的错误消息,只是没有出现。甚至不可能将 SVG 显示为叠加层吗?谢谢您的帮助!

4

1 回答 1

1

保留矢量数据

Xcode 9通过允许您选择在运行时将图像视为矢量来改变这种情况。这意味着图像可以平滑地缩放到任意大小。您需要做的唯一更改是在资产目录中勾选为 PDF 图像保留矢量数据。

您需要将矢量导出为 pdf 并将其添加到资产目录中。欲了解更多信息: 链接 1 链接 2

于 2019-05-29T12:51:10.753 回答