私はちょうどApple MapsからGoogle Mapsに切り替えました。答えが見つからないように思える問題は、GMSMarkerのアイコンをどのように作成するのですか?画像の下部。
私が言っていることの例は、現在の位置のドットアイコンが、それが表現することを意図している座標の中心に始まることです。ただし、GMSMarkersアイコンはアイコンの下から始まります。
プロパティ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_;
Google Mapsのドキュメントをよく読んでから、その方法を見つけました。私はこれがそれが行われることを意図した方法だと信じています。
UIImage *markerIcon = [UIImage imageNamed:@"markericon.png"];
markerIcon = [markerIcon imageWithAlignmentRectInsets:UIEdgeInsetsMake(0, 0, (markerIcon.size.height/2), 0)];
self.marker.icon = markerIcon;