問題:
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.
誰にも提案はありますか?