0

問題:
Xamarin iPhone エミュレーターを使用すると、現在の場所がマップに設定されません。

詳細:
Xamarin Studio と iPhone エミュレーターで学習しているサンプルの iPhone アプリで、現在の場所をマップにプロットしようとしています。

マップは表示されていますが、現在地が設定されていません。

私は自分の現在の場所を使用するように求められました (確かに私は「はい/OK」と答えました) .. しかし、それはユニオンスクエアの近くのサンフランに集中し続けています:(

エミュレーターを実行するたびに、次のテキストがポップアップ表示されます。

2013-10-22 09:27:45.018 MyApp [6018:1503] MonoTouch: 127.0.0.1:10000 で MonoDevelop に接続中にソケット エラーが発生しました: 接続が拒否されました

だから、それがそれと関係があるかどうかはわかりませんか?

わかりましたので、私が持っているコードを見てみましょう。

public override void ViewDidLoad ()
    {
        base.ViewDidLoad ();

        map.MapType = MKMapType.Standard;
        map.ShowsUserLocation = true;
        map.ZoomEnabled = true;
        map.ScrollEnabled = true;

        map.DidUpdateUserLocation += (sender, e) => {
            if (map.UserLocation != null) 
            {
                CentreMapAtLocation(map.UserLocation.Coordinate.Latitude,
                                    map.UserLocation.Coordinate.Longitude);
            }

            // User denied permission, or device doesn't have GPS/location ability.
            if (!map.UserLocationVisible)
            {
                // TODO: Send the map somewhere or hide the map and show another message.
                //CLLocationCoordinate2D coords = new CLLocationCoordinate2D(37.33233141,-122.0312186); // cupertino
                //MKCoordinateSpan span = new MKCoordinateSpan(MilesToLatitudeDegrees(20), MilesToLongitudeDegrees(20, coords.Latitude));
                //mapView.Region = new MKCoordinateRegion(coords, span);
            }
        };


private void CentreMapAtLocation(double latitude, double longitude)
    {
        CLLocationCoordinate2D mapCenter = new CLLocationCoordinate2D (latitude, longitude);
        MKCoordinateRegion mapRegion = MKCoordinateRegion.FromDistance (mapCenter, 10000, 10000);
        map.CenterCoordinate = mapCenter;
        map.Region = mapRegion;
    }

だから、それはあまりにもクレイジーではありません、IMO.

誰にも提案はありますか?

4

1 に答える 1

4

シミュレーター内でカスタムの場所を設定しようとしましたか?

https://bencoding.files.wordpress.com/2011/12/step2.png

iOs シミュレーター内の場所を確認する必要がある場合は、カスタムの場所の設定とこのツールを組み合わせて使用​​する傾向があります。これが機能するためにコードを変更する必要はありません。設定された場所を iO 内の場所マネージャーにパイプするだけです。

私の知る限り、シミュレーターは GPS または WiFi ベースの位置をサポートしていないため、物理デバイスのように現在の位置を使用することはできません。おそらく、他の誰かがこれを明確にすることができます。

詳細については、次を参照してください。

  1. iPhone Simulator で場所を設定する
  2. http://bencoding.com/2011/12/28/setting-you-location-in-the-ios-5-0-simulator/
于 2013-10-21T23:38:00.463 に答える