web-dev-qa-db-ja.com

中央のGMSMarkerアイコン(iOS)

私はちょうどApple MapsからGoogle Mapsに切り替えました。答えが見つからないように思える問題は、GMSMarkerのアイコンをどのように作成するのですか?画像の下部。

私が言っていることの例は、現在の位置のドットアイコンが、それが表現することを意図している座標の中心に始まることです。ただし、GMSMarkersアイコンはアイコンの下から始まります。

30
Nicholas Mata

プロパティgroundAnchorを使用して、マーカーアイコンの開始位置を変更できます。

iOS用Google Maps SDKドキュメント

地上アンカーは、地球の表面上のマーカーの位置に固定されるアイコン画像内のポイントを指定します。この点は、連続空間[0.0、1.0] x [0.0、1.0]内で指定されます。(0,0)は画像の左上隅、(1,1)は右下隅です。

次の例では、マーカーを90°回転します。 groundAnchorプロパティを0.5,0.5に設定すると、マーカーはベースではなく中心を中心に回転します。

CLLocationCoordinate2D position = CLLocationCoordinate2DMake(51.5, -0.127);
CLLocationDegrees degrees = 90;
GMSMarker *london = [GMSMarker markerWithPosition:position];
london.groundAnchor = CGPointMake(0.5, 0.5);
london.rotation = degrees;
london.map = mapView_;
56
adboco

Google Mapsのドキュメントをよく読んでから、その方法を見つけました。私はこれがそれが行われることを意図した方法だと信じています。

UIImage *markerIcon = [UIImage imageNamed:@"markericon.png"];
markerIcon = [markerIcon imageWithAlignmentRectInsets:UIEdgeInsetsMake(0, 0, (markerIcon.size.height/2), 0)];
self.marker.icon = markerIcon;
7
Nicholas Mata