2017-07-09 7 views
0

自分のAPIを使用してWazeを使ってナビゲーションを実装しようとしています:hereカスタム座標を関数Wazeインテグレーションに設定する

私はarray に設定されているcustom coordinatesに設定してから、このコードでそれらに合うようにしたい:

func navigate(toLatitude latitude: Double , longitude: Double) { 
       if UIApplication.shared.canOpenURL(URL(string: "waze://")!) { 
        // Waze is installed. Launch Waze and start navigation 
        let urlStr: String = "waze://?ll=\(latitude),\(longitude)&navigate=yes" 
        UIApplication.shared.openURL(URL(string: urlStr)!) 
       } 
       else { 
        // Waze is not installed. Launch AppStore to install Waze app 
        UIApplication.shared.openURL(URL(string: "http://itunes.apple.com/us/app/id323229106")!) 
       } 
      } 

私は、配列の異なるタイプの設定をアップしようとしたが、作るために成功しませんでしたそれは働く。あなたはあなたの助けは非常に参考になります

素晴らしいだろうコードで正しく動作します緯度と経度を保持し、設定されたカスタム配列を、私を助けることができるのであれば、

は、事前にありがとうございます。

+0

カスタム座標はどういう意味ですか? – Subramanian

+0

私は自分の度数を制御する座標の自分の配列を作成すると、その座標の配列に移動する関数を設定します。あなたは今理解していますか? @Subramanian – RandomGeek

+0

しかし、それらのAPIは座標の配列をサポートしていません。 – Subramanian

答えて

2

Wazeアプリサポート対象latitudelongitudeです。

waze://?ll=<lat>,<lon>&navigate=yes

CLLocationDegrees

CLLocationCordiatesタイプであり、二つのパラメータlatitudelongitudeを期待します。 CLLocationDegreesDoubleという値にすぎません。

let location = CLLocationCoordinate2D(latitude: latitude, longitude: longitude) 

あなたがCLLocationCoordinate2Dとして構築する必要がdouble型の値を持っていない場合。あなたがWazeアプリを開くには、以下の関数に値を渡し、あなたの質問に

を述べた>navigate() - あなたは同じfunctionを使用することができます。

func openWaze(location : CLLocationCoordinate2D) { 
    if UIApplication.shared.canOpenURL(URL(string: "waze://")!) { 
     // Waze is installed. Launch Waze and start navigation 
     let urlStr: String = "waze://?ll=\(location.latitude),\(location.longitude)&navigate=yes" 
     UIApplication.shared.openURL(URL(string: urlStr)!) 
    } 
    else { 
     // Waze is not installed. Launch AppStore to install Waze app 
     UIApplication.shared.openURL(URL(string: "http://itunes.apple.com/us/app/id323229106")!) 
    } 
} 
+0

何らかの理由でアクションが呼び出されていない....これは奇妙な...これをチェックする:https:// stackoverflow。com/questions/44999453/alertviewcontroller-button-function-not-working – RandomGeek

+0

ありがとうございます!あなたの助けを借りて、私はこのことが正しく働いています....たくさんの人に感謝:) – RandomGeek

0

緯度と長い保持用のカスタム配列を作成する:

NSMutableArray *latLongArray = [[NSMutableArray alloc]init]; 
[latLongArray addObject :[NSDictionary dictionaryWithObjectsAndKeys:lat,@"latitude",long,@"longitude",nil]]; 
[latLongArray addObject :[NSDictionary dictionaryWithObjectsAndKeys:lat,@"latitude",long,@"longitude",nil]]; 
[latLongArray addObject :[NSDictionary dictionaryWithObjectsAndKeys:lat,@"latitude",long,@"longitude",nil]]; 

代替緯度長い値。

関連する問題