[FAQ] 지도/로컬 API 문의 전 꼭 읽어 주세요.
https://devtalk.kakao.com/t/faq-api/125610
Poi 이미지나 Poi badge에 url 이미지를 적용하려고 하는데 아무리 이미지를 넣어도 안되네요…ㅠ
해결방법이 있을까요?ㅠ
[FAQ] 지도/로컬 API 문의 전 꼭 읽어 주세요.
https://devtalk.kakao.com/t/faq-api/125610
Poi 이미지나 Poi badge에 url 이미지를 적용하려고 하는데 아무리 이미지를 넣어도 안되네요…ㅠ
해결방법이 있을까요?ㅠ
@tagi108 url 이미지가 어떤걸 의미하시는지 확실하지 않으나 UIImage 로 이미지를 생성하시면 poi 에 사용하실 수 있습니다. 자세한 내용은 작업내용을 알아야 확인이 가능합니다.
아래 코드와 같이 Poi에 UIImage로 poi badge에 이미지를 사용하려고 했는데 적용이 안됩니다…
해결 방법이 있을까요?
func createLabelLayer() {
let view = mapController?.getView("mapview") as! KakaoMap
let manager = view.getLabelManager()
let layerOption = LabelLayerOptions(layerID: "PoiLayer", competitionType: .none, competitionUnit: .symbolFirst, orderType: .rank, zOrder: 0)
let _ = manager.addLabelLayer(option: layerOption)
}
// Poi 표시 스타일 생성
func createPoiStyle() {
let view = mapController?.getView("mapview") as! KakaoMap
let manager = view.getLabelManager()
let url = URL(string: "https://cdn.pixabay.com/photo/2018/05/26/18/06/dog-3431913_1280.jpg")
DispatchQueue.global().async {
if let data = try? Data(contentsOf: url!) {
if let image = UIImage(data: data) {
DispatchQueue.main.async {
let noti1 = PoiBadge(badgeID: "badge1", image: image, offset: CGPoint(x: 0.5, y: -0.5), zOrder: 0)
let iconStyle1 = PoiIconStyle(symbol: UIImage(named: "pin_green"), anchorPoint: CGPoint(x: 0.5, y: 1.0), badges: [noti1])
// 5~11, 12~21 에 표출될 스타일을 지정한다.
let poiStyle = PoiStyle(styleID: "PerLevelStyle", styles: [
PerLevelPoiStyle(iconStyle: iconStyle1, level: 5)
])
manager.addPoiStyle(poiStyle)
self.createPois()
}
}
}
}
}
func createPois() {
let view = mapController?.getView("mapview") as! KakaoMap
let manager = view.getLabelManager()
let layer = manager.getLabelLayer(layerID: "PoiLayer")
let poiOption = PoiOptions(styleID: "PerLevelStyle")
poiOption.rank = 0
let poi = layer?.addPoi(option:poiOption, at: MapPoint(longitude: 127.108678, latitude: 37.402001))
poi?.show()
}
이미지의 크기가 너무 큽니다. 512 * 512 미만의 이미지를 사용해 보시기 바랍니다.