iOS 用の新しい google maps SDK には、コンパスを表示するための UI ウィジェットが含まれるようになりました。唯一の問題は、オンまたはオフを切り替える方法しか表示されないことです。地図上の位置を変更できるかどうか知っていますか?
https://developers.google.com/maps/documentation/ios/map#compass
iOS 用の新しい google maps SDK には、コンパスを表示するための UI ウィジェットが含まれるようになりました。唯一の問題は、オンまたはオフを切り替える方法しか表示されないことです。地図上の位置を変更できるかどうか知っていますか?
https://developers.google.com/maps/documentation/ios/map#compass
-(void)viewDidAppear:(BOOL)animated{
mapView.padding = UIEdgeInsetsMake (64,0,0,0);
}
このコードでは、コンパス ボタンを 64 ピクセルで下に移動します。
あまりオーソドックスではありませんが、機能します。
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];
}
}
コンパス ボタンの位置を変更することはできません。機能リクエストを提出してください。
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 要素が表示される領域を設定できるようになりました。