3

2 つの場所の間の距離を (道路経由で) 取得しようとしていますが、http 要求が次のデータを含む XML を返すことがわかります。

http://code.google.com/apis/maps/documentation/directions/#XML

しかし、NSXMLParser を使用して合計距離を取得する方法がわかりません。私は

parser:didStartElement:namespaceURI:qualifiedName:attributes

メソッドですが、これがどのように機能するかはわかりません。私が望む要素は「方向」だと思いますが、そのような要素がいくつかあります。必要なものを指定するにはどうすればよいですか? 「属性」パラメータと関係がありますか?

4

2 に答える 2

0

必要な要素を見つけるには didStartElement を使用しますが、foundCharacters メソッドを使用してタグのコンテンツを収集する必要はありません (複数呼び出すことができます)。

于 2010-09-27T18:28:18.297 に答える
0

NSXMLParserは SAX パーサーです。つまり、ドキュメントの処理中にさまざまな解析イベントに対してコールバック メソッドを提供する必要があります。あなたがリンクしている Google のドキュメントを見ると、これらのドキュメントはそれほど大きくないと思うので、個人的には SAX パーサーを使用しません。

などの DOM パーサーのNSXMLDocument方がはるかに使いやすいですが、残念ながら Apple はNSXMLDocumentiOS SDK に含めていません。TouchXMLなど、いくつかの代替手段があります。

各脚やステップの距離ではなく、合計距離のみを気にする場合は、単純な XPath クエリですべての距離を取得できます//leg/step/distance/value。それらをループして合計します。

于 2010-09-27T19:00:24.350 に答える