0

私は iOS アプリケーションを実装しており、ユーザーの場所をプログラムで設定したいと考えています。私はmapViewを試しました。

        mapView.userLocation.location.coordinate=CLLocationCoordinate2DMake(latFloat, longFloat);

これは読み取り専用プロパティに割り当てられていることがわかります。

プログラムでユーザーの場所を割り当てる方法は?カスタムの場所に青い点を表示することを目指しています。

4

2 に答える 2

2

私の知る限り、あなたはできません。そのプロパティは、任意のポイントではなく、ユーザーの場所用です。MKAnnotation を使用する必要があります。これは、関連するクラスです。ユーザーの位置に似たパルス状の円で一種のポイントを作成したい場合は、カスタム MKOverlay がより適切であることがわかります。ただし、MKOverlayPathView を使用して 1 つの MKOverlayView に多くのものを描画する場合は、複数の MKOverlayを使用するとアプリケーションがクラッシュすることに注意してください。

** 余談ですが、シミュレーターでのテストでは、ポイントの任意のリストをシミュレーターに渡すことができます。このリストは、ユーザーの場所としてアプリにフィードされます。ただし、これはさまざまなマップ関連のコードをテストするためだけのものであり、実際には「現実の世界」では役に立たず、機能しません**

「注釈」が注釈を含む NSMutableArray であると仮定するようなものです。

-(MKAnnotationView *)mapView:(MKMapView *)mV 
    viewForAnnotation:(id <MKAnnotation>)annotation {

  MKPinAnnotationView *pinView = nil;
  MKPinAnnotationColor pinColor = MKPinAnnotationColorPurple;
  if([annotations lastObject] == annotation)  
  {
    pinView = [[MKPinAnnotationView alloc] initWithAnnotation:annotation reuseIdentifier:@"LastLocationIdentifier"];
    pinColor = MKPinAnnotationColorGreen;
  }
  else
  {
    pinView = [[MKPinAnnotationView alloc] initWithAnnotation:annotation reuseIdentifier:@"PreviousLocationIdentifier"];
  }

  pinView.pinColor = pinColor;

  return pinView;
}

私は現在これをテストする立場にありませんが、後で行います。

于 2012-09-17T09:39:08.270 に答える
1

.gpx ファイルを使用して、必要に応じてユーザーの場所を設定します。

手順:

  • Commd + Nを押します
  • リソースに移動
  • 次にgpxを選択します
  • 名前を入力し、保存する場所を選択します

  • .gpx ファイルは XML 形式のファイルです。

  • lat = "37.331705" lon = "-122.030237" で、自分の場所に応じてこの緯度と経度の値を変更します。
  • 「現在地をシミュレートしない」を選択した場合は、「場所をシミュレートする」ボタンをクリックすることを忘れないでください。次に、保存した場所の名前に変更します..

詳細については、これをチェックしてください------

http://plainoldstan.blogspot.cz/2011/08/on-gpx-files-for-xcode-42.html

(追加するのを忘れてください)また、viewDidLoadメソッドで、追加することを忘れないでください-

yourMapView.showuserslocation = YES;

于 2013-01-29T06:38:04.467 に答える