Upgrade to Pro — share decks privately, control downloads, hide ads and more …

AR mode in Yahoo! MAP

totomo
March 16, 2018

AR mode in Yahoo! MAP

Talk about AR mode in Yahoo! MAP which is implemented by using ARKit.

totomo

March 16, 2018
Tweet

More Decks by totomo

Other Decks in Technology

Transcript

  1. 3 About me ,FOUB5PLVNPUP 5XJUUFSUPUPNP  (JUIVCUPUPNP  2JJUBUPUPNP 

    ೖࣾ೥໨ ."1ͷJ04 8FC"1*։ൃ୲౰ 8&# %#13&447PM:BIPP."1ͷαʔ Ϗεվળʹ͍ͭͯJ04 8FC"1*ͷ෦෼Λࣥච͠· ͨ͠
  2. ARKit+CoreLocation 9 (0, 0) d [m] (x 1 , z

    1 ) (lat 0 , lon 0 ) d [m] (lat 1 , lon 1 )
  3. ଍੻ 19 position • ARSCNView͔ΒऔΕΔ pointOfViewͷpositionΛऔಘ • ݱࡏҐஔͷ࠲ඪΛ΋ͱʹҠಈڑ཭ ͱ֯౓Λܭࢉ •

    ଍੻͸ϥϯμϜͰग़͢Α͏ʹ materialʹઃఆ͍ͯ͠ΔUIImageΛ ಈతʹઃఆ͍ͯ͠Δ
  4. LocationInfoProvider 21 public protocol LocationInfoProvidable { func location(completion: @escaping (CLLocation?)->())

    func nearbyRoutePoint(from origin: SCNVector3) -> SCNVector3? weak var delegate: LocationInfoProviderDelegate? { get set } 
 } protocol LocationInfoProviderDelegate: class { func locationInfoProvider(_ provider: LocationInfoProvidable, requestUpdateHeading heading: CLHeading) func ;ocationInfoProvider(_ provider: LocationInfoProvidable, requestUpdateLocation location: CLLocation, oldLocation: CLLocation?) 
 }
  5. LocationInfoProvider 22 locationInfoProvider.location { [weak self] location in guard let

    origin = location else { self?.displayError() return } self?.addNodes(origin: origin) }
  6. େྔͷSCNNodeͷ௥Ճ 23 func renderer(_ renderer: SCNSceneRenderer, updateAtTime time: TimeInterval) {

    // 5ͭͣͭ௥Ճ͢Δ } self.navigationView.worldNode.addScheduledNodes(quantity: 5) func addObjects(origin: CLLocation) { self.navigationView.origin = origin let routeLineNodes = routeNodes(withCoordinates: self.coordinates) self.navigationView.scheduleNodes(routeLineNodes, priority: .high) } // ARSCNViewDelegate
  7. Fin