عرض بانورامي للشارع بزاوية 360 درجة في iOS من Google Map sdk
-
21-12-2019 - |
سؤال
اريد ان اعرض هذا الموقع داخل الخريطة بدون استخدام مخطط URL لخرائط Google. لقد استخدمت GMPanoramaView لعرض التجوّل الافتراضي باستخدام خطوط العرض/الطول المعطاة (53.426398,-2.242795) ولكن داخل منطقة المبنى لا تظهر، تظهر هذه المنطقة في المتصفح أو مخطط URL.
إستعملت عرض جيثب رمز لإظهار التجوّل الافتراضي ولكني أريد إظهار الموقع أعلاه بالضبط داخل التطبيق.
لا أريد استخدام تطبيق webview أو Safari أو Google Map.
المحلول
أعتقد أنك مفقود
giveacodicetagpre.نصائح أخرى
انه ممكن!استخراج panoid
من مشاركة user2744623:
إليك رابط بديل (استخدم Embedder لـ Google Business View) 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 لنظام التشغيل 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
لديك خياران.قم بتنزيل Pano أو استخدم أحد العديد من الطرق المعتمدة من Google للحصول على العرض.
إليك رابط بديل (يستخدم Embedder لعرض جوجل للأعمال) https:// maps.google.com / خرائط؟ طبقة= C &؛ بانوائي= shcqtg4y9qh9t0p5aspva & IE= utf8 & source= تضمين وإخراج= SVMBED & CBP= 13٪ 2C213٪ 2C٪ 2C0٪ 2C0
الاستيلاء على PANO باستخدام Pano Fetch
استخدم API - ما يلي هو رمز PSUDO جزئيا، ستحتاج إلى كمية صغيرة من معرفة JavaScript.
giveacodicetagpre.