Swift, Objective-C, Xcodeにはとても暗いので不正確・誤りの記述があるかも知れませんがご容赦ください。
Yahoo! iOSマップSDKのAPIリファレンスをみるとObjective-Cで作られているようですが、以下はSwiftに読み替えて述べてます。
APIリファレンス: getRouteNodeInfoWithIndexには戻り値の型はYMKRouteNodeInfoというプロトコルクラスで、質問文中にある表示内容(デバッガーか何かの表示でしょうか?)からの推測で実際のclass(or struct)はYRouteLineではないかと思いました。またここに表示されている16進数の数値の意味はYRouteLineインスタンスのメモリー上のアドレスであるように思えました。その推測が正しければ
出力の度に値は少し変わります。
それは実行の度に新たなインスタンスが生成されるためインスタンスのアドレスが違うことに起因するにすぎないと思います。
この値は座標を16進数に変換したもの?になるのでしょうか。
前述の通り違うように思います。
以下、ご質問を拝見した印象を含めて推測でのアドバイスめいたものです。
Swiftでは型名を省略して、次のように書けます。
var info = routeOverlay.getRouteNodeInfo(with: 0)
しかし型名は「コード上に一々かかなくてもコンパイラーが推論してくれる」というだけであって、プログラマーであるあなたはinfoの型が何かを知っていななければなりません。そうでないとinfoに対してどうやって操作すればいいか何もわからないはずです。
つまり、ある関数の戻り値の型はあくまで仕様書を確認し「それはどの型か」「その型がプロトコルなどならどのような属性(プロパティー)と操作(メソッド)があるのか」を確認すべきと思います。
もし仕様を調べずにデバッガーなどで表示された内容を見て「これはどういう値なんだろうか」と考えているのだとしたらそれは時間の無駄だと思います。
2つ前の質問の回答者さんとのやりとりを拝見すると「他者が開発したライブラリーをAPI仕様書に基いて利用する」という経験が初めてではないかと思えました。このような場合「自分自身で仕様書に書いてあることを熟読して使い方を把握する」ことが必須です。これをぜひ頑張ってやってみてください。
なおYMKRouteNodeInfoのリファレンスだけ見ましたが、そこにある4つのプロパティーdirection, distance, time, floorLevelではルート上の2点間の距離はわかるものの、座標(あるいはルート上の2点間の方向)を示す情報は見当たりません。自分にはこの情報だけを得ても「ルート上の任意の座標を得るための情報は得られない」ようにみえました。もう一度SDKのインターフェースを見直して使えそうな情報を取ってこれないか確認する必要があると思いました。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/10/23 01:15
2017/10/23 01:37
2017/10/23 04:52