1

目的 C の Google マップに 2 つのマーカーを表示できません。2 つの値を渡そうとしています。上書きされているだけかもしれませんが、まだ修正できていません。助けてください。.m ファイルからの私のコードは次のとおりです。

GMSMarker *marker = [[GMSMarker alloc] init];

marker.position=CLLocationCoordinate2DMake(toLatitudeDouble, toLongitudeDouble);
marker.title=toLocationFromResultVC;
marker.snippet=@"Destination";



marker.position=CLLocationCoordinate2DMake(fromLatitudeDouble, fromLongitudeDouble);
marker.title=fromLocationFromResultVC;
marker.snippet=@"Source";

marker.map = mapView_;

詳細を提供する必要がありますか? 何かお役に立てば幸いです。どうもありがとう!

4

1 に答える 1

9

はい、値をオーバーライドしています。代わりに別のマーカーを作成する必要があります。

GMSMarker *marker = [[GMSMarker alloc] init];

marker.position=CLLocationCoordinate2DMake(toLatitudeDouble, toLongitudeDouble);
marker.title=toLocationFromResultVC; marker.snippet=@"Destination";

// Your're overriding the value here!!
// use GMSMarker *marker2 = [[GMSMarker alloc] init]; and reference it instead in the code below.

marker.position=CLLocationCoordinate2DMake(fromLatitudeDouble, fromLongitudeDouble); 
marker.title=fromLocationFromResultVC; marker.snippet=@"Source";

marker.map = mapView_;

したがって、正しいコードは次のようになります

GMSMarker *marker = [[GMSMarker alloc] init];

marker.position=CLLocationCoordinate2DMake(toLatitudeDouble, toLongitudeDouble);
marker.title=toLocationFromResultVC; marker.snippet=@"Destination";
marker.map = mapView_;

GMSMarker *marker2 = [[GMSMarker alloc] init];
marker2.position=CLLocationCoordinate2DMake(fromLatitudeDouble, fromLongitudeDouble); 
marker2.title=fromLocationFromResultVC; marker.snippet=@"Source";
marker2.map = mapView_;
于 2013-06-15T10:09:55.273 に答える