0

位置情報サービスを初めて使用していますが、すべてが正しく機能しているように見えますが、位置情報を正しく検出していますが、座標を抽出するのに問題があります。

ドキュメントには、CLLocation には「座標」プロパティがあり、コンパイラはこのコードに満足していると記載されています。ただし、実行時に CLLocation は文字列の説明のみを返すように見えます。

ロケーションマネージャーを起動します

    _locationManager = new CLLocationManager ();
    _locationManager.DesiredAccuracy = 1000; 

    // handle the updated location method and update the UI
    _locationManager.LocationsUpdated += (object sender, CLLocationsUpdatedEventArgs e) => {
            UpdateLocation (e.Locations [e.Locations.Length - 1], _destinationLatitude, _destinationLongitude);
        };

    if (CLLocationManager.LocationServicesEnabled)
        _locationManager.StartUpdatingLocation ();

イベントは正しく発生します

    static public void UpdateLocation (CLLocation current, Double destinationLat, Double destinationLng)
    {
        //Make the start pairing
        string start = current.Coordinate.Latitude.ToString() + "," + current.Coordinate.Longitude.ToString();

        //Make the destination pairing
        string destination = destinationLat.ToString() + "," + destinationLng.ToString();
    }

ただし、アプリはクラッシュするだけです。ブレークポイントでそれをキャッチすると、以下を含む説明プロパティのみが表示されます。

Description "<+50.58198902,-3.67661728> +/- 65.00m (speed -1.00 mps / course -1.00) @ 25/07/2013 13:11:28 British…" string

明らかに、このテキスト フィールドから緯度/経度を抽出できますが、これを行う必要はないと感じています。どんな助けでも感謝します。

ここに画像の説明を入力

4

1 に答える 1

0

まったく同じコードを別のコントローラーに移動したところ、問題なく動作しました。2 つのコントローラーの唯一の違いは、失敗したコントローラーがモノタッチ ダイアログ リフレクション API を使用して画面要素をバインドしていたことです。これが違いを生む理由はわかりませんが、2 つのコントローラーの唯一の違いです。現在、すべてが機能しています。時間があれば、より小さなサンプルで再現してみます。

于 2013-07-29T07:50:51.450 に答える