GoogleマップSDKからのiOSの360度パノラマストリートビュー
-
21-12-2019 - |
解決
あなたが欠落していると思います
[panoramaView_ moveToPanoramaID:@"i3XJvXkmgNMAAAQW-ezYnQ"];
. 他のヒント
それが可能だ!を抽出します。 panoid
から user2744623の投稿:
代替リンクは次のとおりです (Google ビジネス ビューの埋め込みツールを使用) https://maps.google.com/maps?layer=c&panoid=shcQTg4Y9qh9T0p5aspVvA&ie=UTF8&source=embed&output=svembed&cbp=13%2C213%2C%2C0%2C0
そしてそれを次のように使用します PanoramaID
iOS SDK 内:
GMSPanoramaView *view_ = [GMSPanoramaView panoramaWithFrame:CGRectZero
nearCoordinate:CLLocationCoordinate2DMake(53.426398, -2.242795)];
[view_ moveToPanoramaID:@"shcQTg4Y9qh9T0p5aspVvA"];
その後、設定できます GMSPanoramaCamera:cameraWithHeading:pitch:zoom:
お好みの角度に:
[GMSPanoramaCamera cameraWithHeading:200.0f pitch:-10.0f zoom:1];
公式ドキュメントはこちら の上 GMSPanoramaView:moveToPanoramaID:
:
パノラマをリクエストします
panoramaID
。正常に完了したらpanoramaView:didMoveToPanorama:
に送信されますGMSPanoramaViewDelegate
. 。エラー時panoramaView:error:onMoveToPanoramaID:
送信されます。繰り返し電話をかけるmoveToPanoramaID:
その結果、以前の保留中の (不完全な) トランジションがキャンセルされます -- 最後のトランジションのみがキャンセルされます。moveNearCoordinate:
そしてmoveToPanoramaId:
続行してイベントを生成します。のみpanoramaID
Google Maps SDK for iOS から取得した がサポートされています。
最後の文は無視してもいいと思います。
以下は、SDK デモ プロジェクトから適応された完全な実装です。
@interface PanoramaViewController () <GMSPanoramaViewDelegate>
@end
@implementation PanoramaViewController {
GMSPanoramaView *view_;
BOOL configured_;
}
- (void)viewDidLoad {
[super viewDidLoad];
view_ = [GMSPanoramaView panoramaWithFrame:CGRectZero
nearCoordinate:CLLocationCoordinate2DMake(53.426398, -2.242795)];
view_.backgroundColor = [UIColor grayColor];
view_.delegate = self;
self.view = view_;
[view_ moveToPanoramaID:@"shcQTg4Y9qh9T0p5aspVvA"];
}
#pragma mark - GMSPanoramaDelegate
- (void)panoramaView:(GMSPanoramaView *)view
didMoveToPanorama:(GMSPanorama *)panorama {
if (!configured_) {
view_.camera = [GMSPanoramaCamera cameraWithHeading:200.0f pitch:-10.0f zoom:1];
configured_ = YES;
}
}
// Use to fine-tune initial heading and pitch
- (void)panoramaView:(GMSPanoramaView *)panoramaView
didMoveCamera:(GMSPanoramaCamera *)camera {
NSLog(@"Camera: (%f,%f,%f)", camera.orientation.heading, camera.orientation.pitch, camera.zoom);
}
// Helpful in finding other panorama IDs or debugging:
- (void)panoramaView:(GMSPanoramaView *)view
willMoveToPanoramaID:(NSString *)panoramaID {
NSLog(@"willMoveToPanoramaID: %@", panoramaID);
}
- (void)panoramaView:(GMSPanoramaView *)view
error:(NSError *)error
onMoveToPanoramaID:(NSString *)panoramaID {
NSLog(@"error: %@ onMoveToPanoramaID: %@", error, panoramaID);
}
@end
2つのオプションがあります。PANOをダウンロードするか、ビューを取得する多くのGoogle承認された方法の1つを使用してください。
これは代替リンク(Googleビジネスビュー用の中古インメダデ)です。