초등학교 앞 카메라가 있는 지역에서 발생하는거 같습니다.
로그 파일 취득본을 공유해 드리겠습니다.
제가 테스트한 지역은 안양 석수 초등학교 앞입니다.
경로 주행시
[Camera(86) : pos(302963.000000, 534244.000000), limit(30), violation(0)]
어린이 보호 구역이 들어오지 않고 카메라 정보만 들어옵니다.
안심주행시
[Caution(11) : pos(303035.000000, 534268.000000), Camera(86) : pos(302966.000000, 534245.000000), limit(30), violation(0)]
어린이 보호구역 이후에 카메라 정보가 들어옵니다.
safetiesOnGuide 정보를 guidanceDidUpdateSafetyGuide(KNGuide_Safety)에서 받은 것으로 보입니다.
위 함수를 통해 해당 정보를 받게 되면
경로 주행 방향에 맞는 안내표지판의 좌표 정보를 확인할 수 있습니다.
(단, 좌표 정보가 경로 주행 방향과 맞지 않을 경우, 해당 정보는 표출되지 않습니다.)
전달해 주신 좌표로 확인해보니 경로 주행의 주행 방향과 안전 운행의 주행 방향이 다른 것으로 보이며,
주행 방향에 맞는 좌표 정보만 표출 된 것으로 보입니다.
말씀하신 구간에서 어린이 보호구역코드가 노출되어야 한다면 guidanceDidUpdateRouteGuide 함수의 KNGuide_Route 정보를 확인하셔야 합니다.
해당 정보에서 아래와 같이 현재 경로가 해당 구간인지 확인하실 수 있습니다. (Android 코드입니다)
var safetyZone: KNSafetyZone? = null
KNGuide_Route.safetyZones?.let {
for (i in it.indices) {
if (it[i].safetyZoneType == KNSafetyZoneType.KNSafetyZoneType_SchoolZone) {
safetyZone = it[i]
확인해본 결과 didUpdateRouteGuide의 KNGuide_Route에서 schoolZone을 확인할 수 있으나 저희가 사용하려는 취지와는 달라 사용할 수 없을거 같습니다.
경로 주행의 주행 방향과 안전 운행의 주행 방향이 달라 주행 방향에 맞는 정보만 표출된갓이라고 하셔서 한대의 차량에 두대의 핸드폰을 소지하여 하나는 경로 주행 하나는 안전 운행으로 수집한 로그를 확인해본 결과 경로 주행에서 어린이 보호구역의 시점이 들어오지 않습니다.
경로주행
[Camera(86) : pos(300581.000000, 558930.000000), limit(30), violation(0)]
어린이 보호구역 이후의 30Km 신호과속 카메라만 들어옵니다.
안전 운행
[Caution(11) : pos(300425.000000, 559025.000000), Camera(86) : pos(300581.000000, 558930.000000), limit(30), violation(0)]
어린이 보호구역, 30Km 신호과속 카메라 둘 다 들어옵니다.
KNGuide_Safety의 사양이 "안내 중인 안전 운행 지점을 기준으로 안전 정보를 가까운 순서로 나열"이라면 경로 주행에서도 어린이 보호구역 이후에 30Km 신호과속 카메라가 들어와야 되지 않을까요?
테스트 지역은 흥도 초등학교앞 입니다.
특정 어린이 보호구역이 아닌 모든 어린이 보호구역에서 재현될걸로 판단됩니다.
감사합니다.