Как добавить иконку из файла kml в mapkit в swift - PullRequest
0 голосов
/ 16 января 2019

У меня есть файл kml:

После показа все данные из файла kml на карте в порядке. но в файле kml я не могу показать значок.

enter image description here

Это значок в файле kml: enter image description here

Это код аннотации:

open class KMLDocument: KMLElement {
     open var overlays: [MKOverlay] = []
     open var annotations: [KMLAnnotation] = []
     open var styles: [String: KMLStyle] = [:]
     open var placemarks: [KMLPlacemark] = []

     public convenience init(_ element: AEXMLElement, generateMapKitClasses: Bool) {
        self.init(element)
        if generateMapKitClasses {
            initOverlay()
            initAnnotation()
        }
    }

    fileprivate func initAnnotation() {
        for pointPlacemark: KMLPlacemark in placemarks {
            if let point: KMLPoint = pointPlacemark.point {
                let annotation = KMLAnnotation(point.coordinates)
                annotation.title = pointPlacemark.name
                annotation.subtitle = pointPlacemark.description
                annotation.style = pointPlacemark.style
                self.annotations.append(annotation)
            }
        }
    }
}

1 Ответ

0 голосов
/ 22 января 2019

Чтобы изображение значка в файле KML правильно отображалось в Google Планета Земля или Карты, оно должно быть общедоступным. Когда я помещаю URL-адрес вашего изображения значка в свой браузер (https://www.svgimages.com/svg-image/s5/send-file-256x256.png),, я просто получаю черный экран и изображение отсутствует. По какой-то причине этот URL-адрес не возвращает действительный, общедоступный файл изображения. Это может работать Хорошо, в средстве просмотра KML, которое имеет специальный доступ к этому серверу и может получить изображение, но, вероятно, не будет работать где-либо еще. Возможно, вы также захотите проверить, что он на самом деле возвращает файл PNG, а не файл SVG (так как URL содержит «svg» в двух местах), поскольку KML поддерживает только изображения JPG, PNG и GIF (плюс TIFF и GeoTiff для наложений).

...