عرض بانورامي للشارع بزاوية 360 درجة في iOS من Google Map sdk

StackOverflow https://stackoverflow.com//questions/24035893

سؤال

اريد ان اعرض هذا الموقع داخل الخريطة بدون استخدام مخطط 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.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top