4

現在地ボタンの画像を GMSMapView からカスタム画像に変更できるかどうかを知りたいです。

4

3 に答える 3

4

1) フレームの位置を知るボタン:

   for (UIView *object in self.mapView.subviews) {
    if([[[object class] description] isEqualToString:@"GMSUISettingsView"] )
    {
        for(UIView *view in object.subviews) {
            if([view.accessibilityIdentifier isEqual:@"my_location"] ) {

                frame = view.frame;

            }
        }

    }
   }

デバッグを使用して正しいフレームを確認してください!!!

2) self.mapView.settings.myLocationButton = YES; を使用しないでください。

3) このフレームに独自のボタンを作成します。

    UIButton *buttonLocation = [UIButton buttonWithType:UIButtonTypeRoundedRect];
buttonLocation.frame = CGRectMake([UIScreen mainScreen].bounds.size.width - 66, [UIScreen mainScreen].bounds.size.height - frame.size.height, frame.size.width, frame.size.height);
[buttonLocation addTarget:self
           action:@selector(bLocations:)
 forControlEvents:UIControlEventTouchUpInside];
[buttonLocation setImage:[[UIImage imageNamed:@"image.png"] imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal] forState:UIControlStateNormal];

[self.mapView addSubview:buttonLocation];
于 2017-07-05T13:22:58.033 に答える
0

そのために、GMSMapView からそのボタンへの UIButton 参照を取得できます。その後、すべての異なる状態に対して標準の [UIButton setImage:] を使用するだけです。GMSMapView コントロールからこの UIButton を取得するためのカテゴリを作成しました。

https://github.com/trant/GMSMapView-Additions

于 2014-11-05T12:44:40.050 に答える