iOS向けの新しいGoogleマップSDKにコンパスを表示するためのUIウィジェットが追加されました。唯一の問題は、それをオンまたはオフに切り替える方法があることです。マップ上の位置を変更できるかどうかは分かりますか?google maps compassを移動する
https://developers.google.com/maps/documentation/ios/map#compass
iOS向けの新しいGoogleマップSDKにコンパスを表示するためのUIウィジェットが追加されました。唯一の問題は、それをオンまたはオフに切り替える方法があることです。マップ上の位置を変更できるかどうかは分かりますか?google maps compassを移動する
https://developers.google.com/maps/documentation/ios/map#compass
コンパスボタンの位置を変更することはできません。 feature requestを提出してください。
あまり正統ではありませんが動作します。 "GMSCompassButton" を探して
for (UIView *view in gmMapView.subviews) {
NSRange isRange = [view.description rangeOfString:@"GMSCompassButton"];
if (isRange.location != NSNotFound) {
CGRect frame = view.frame;
frame.origin.y=55;
frame.origin.x=gmMapView.frame.size.width/2;
[view setFrame:frame];
}
}
この問題を回避するには、それ以上(GoogleマップSDK 1.4)が動作していません。
"GMSCompassButton"が "GSMUISettingsView"と呼ばれる別のサブビューの中にラップされるようになりました。それを動作させるには、forループの別のセットを追加する必要があります。 –
ここでは、SDK 1.5で動作する最新の回避策を示します。
- (void)moveCompassButton:(GMSMapView *) map{
for(UIView *view in [map subviews]){
NSRange isRange = [view.description rangeOfString:@"GMSUISettingsView"];
if(isRange.location != NSNotFound){
for(UIView *subview in [view subviews]){
NSRange isRange2 = [subview.description rangeOfString:@"GMSCompassButton"];
if(isRange2.location != NSNotFound){
CGRect frame = view.frame;
frame.origin.y = 55;
frame.origin.x = map.frame.size.width/2 - 10;
[view setFrame:frame];
}
}
}
}
}
マップビューでパラメータとしてこの関数を呼び出すことができます。
Google Maps SDK 1.5の新しいリリースには、GMSMapViewのpaddernプロパティが含まれています。 ここで、UI要素が表示される領域を設定することができます。
-(void)viewDidAppear:(BOOL)animated{
mapView.padding = UIEdgeInsetsMake (64,0,0,0);
}
このコードは、コンパスボタンを64ピクセル下に移動します。
これは私のためには機能しません。私はサブビューを印刷してログを見ましたが、 "GMSCompassButton"項目はありません。 – regeint