Street View במפות Google מאפשר לכם לסייר במקומות ברחבי העולם דרך תמונות ב-360 מעלות ברמת הרחוב. אפשר לחקור ציוני דרך בעולם, לצפות בטבע תוהים, לתכנן נסיעה או להראות את העסק מבחוץ.
סקירה כללית
Google Street View מספק נופים פנורמיים של 360 מעלות מכבישים ייעודיים
בכל שטח הכיסוי שלו. הכיסוי הזמין דרך ה-SDK הוא
כמו באפליקציית מפות Google ל-iOS או
https://maps.google.com/
. אפשר לקרוא עוד על
ב-Street View ולראות את האזורים הנתמכים במפה אינטראקטיבית, בכתובת
מידע על Street View
ה-SDK של מפות Google ל-iOS מספק שירות Street View
לצורך קבלה וביצוע מניפולציה של התמונות ב-Street View במפות Google.
תמונות Street View מוחזרות כתמונות פנורמיות
בתצוגה של Street View –
אובייקט מסוג GMSPanoramaView
.
תמונות פנורמיות ב-Street View
כל פנורמה של Street View היא תמונה, או קבוצת תמונות, שמספקת תמונה תצוגה של 360 מעלות ממיקום אחד. התמונות תואמות למלבן היטל (Plate Carrée), שמכיל 360 מעלות של תצוגה אופקית תצוגה היקפית מלאה) ו-180 מעלות של תצוגה אנכית (מהישר עד ישר למטה). הפנורמה שמתקבלת ב-360 מעלות מגדירה היטל על פני כדור הארץ שבו התמונה עטופה על פני השטח הדו-ממדיים כדור.
ניתן לצפות בתמונות פנורמיות ב-Street View באמצעות האובייקט GMSPanoramaView
. הזה
מספק הצופה שיעבד את התמונה הפנורמית כספרה
המצלמה במרכז. אפשר לשלוט באופן פרוגרמטי בכיוון של
מצלמה, וגם מספר מאפיינים שמתאימים אישית את הצופה.
גישה לנתוני Street View
תמונות פנורמיות ב-Street View מזוהות באמצעות אחד משני מטא-נתונים:
panoramaID
- המזהה הייחודי של תמונת פנורמה ב-Street View. ה
panoramaID
הזה עשוי להשתנות עם הזמן, והוא לא מתאים לטווח ארוך או שהוא מקודד בתוך הקוד, הפניה. השיטהpanoramaID
מתאימה ביותר כדי לספק גישה פרוגרמטית לתמונות Street View שונות. coordinate
- המיקום המדויק של תמונה זו, מבוטא
CLLocationCoordinate2D
. שימוש ב-coordinate
בשביל אחסון קבוע של מיקום פנורמה, או לתרגום פעולות משתמש על את המפה לתמונה של Street View.
גם panoramaID
וגם coordinate
מאוחסנים כמאפיינים של
אובייקט GMSPanorama
. אפשר לבקש GMSPanorama
מ
GMSPanoramaService
באמצעות coordinate
או panoramaID
.
שיתקבל יכלול שני חלקי מטא-נתונים וגם מערך
קישורים לצילומי פנורמה בקרבת מקום.
הגדרת המיקום של הפנורמה
ניתן להגדיר את המיקום של תמונת הפנורמה ב-Street View בהתבסס על קואורדינטות.
השיטה
moveNearCoordinate
מבקשת צילום פנורמי ליד קואורדינטות.השיטה
moveNearCoordinate:radius
דומה, אבל היא מאפשרת כדי לציין רדיוס חיפוש, במטרים, סביב הקואורדינטה.השיטה
moveNearCoordinate:source
מאפשרת לציין מקור. כדאי לציין מקור שימושי אם רוצים להגביל את Street View כדי לחפש רק של תמונות פנורמיות מחוץ לבית. כברירת מחדל, תמונות פנורמיות של מיקומים הן מבפנים ומבחוץ. שים לב שייתכן כי תמונות פנורמיות בחוץ לא קיימות עבור המיקום שצוין.השיטה
moveNearCoordinate:radius:source
מאפשרת לציין גם ומקור.
הצגה של תמונות Street View
הוספת צופה ב-Street View
השלבים הבסיסיים להוספת צופה הם:
- (פעם אחת) פועלים לפי השלבים שמפורטים בקטע תחילת העבודה כדי לקבל את ה-SDK, לקבל מפתח ולהוסיף את ה-frameworks הנדרשות.
- יצירה או עדכון של
ViewController
. אם הפנורמה תוצג כאשר בקר התצוגה הזה יהפוך לגלוי, הקפידו ליצור אותו בתוך השיטהloadView
. - יצירה ויצירה של מחלקה
GMSPanoramaView
באמצעות אמצעי תשלום אחד (GMSPanoramaView
)initWithFrame:
. אם הוא משמש ניתן לצפות בתצוגה של הבקר בלבד, ואז ניתן להשתמש ב-CGRectZero
כתצוגת המפה מסגרת - גודל המפה ישתנה באופן אוטומטי. - הגדרת האובייקט
GMSPanoramaView
כתצוגה של בקר התצוגה, לדוגמה:self.view = panoView;
. - הגדרת המיקום של תמונת Street View באמצעות שיטה כמו
moveNearCoordinate:
הדוגמה הבאה מוסיפה את התכונה 'צפייה ב-Street View' לאפליקציה.
Swift
import GoogleMaps class StreetView: UIViewController { override func loadView() { let panoView = GMSPanoramaView(frame: .zero) self.view = panoView panoView.moveNearCoordinate(CLLocationCoordinate2D(latitude: -33.732, longitude: 150.312)) } }
Objective-C
#import "StreetView.h" @import GoogleMaps; @interface StreetView () @end @implementation StreetView - (void)loadView { GMSPanoramaView *panoView = [[GMSPanoramaView alloc] initWithFrame:CGRectZero]; self.view = panoView; [panoView moveNearCoordinate:CLLocationCoordinate2DMake(-33.732, 150.312)]; } @end
התאמה אישית של התצוגה
אפשר להתאים אישית את התצוגה על ידי הגבלת התנועות הזמינות. על ידי
ברירת המחדל, הזזה, שינוי מרחק התצוגה ומעבר לתמונות פנורמה סמוכות מופעלות.
תנועות בודדות נשלטות באמצעות המאפיינים של GMSPanoramaView
.
המאפיינים האלה מפעילים או משביתים תנועות בשליטת המשתמש. פרוגרמטי
עדיין ניתן יהיה לבצע שינויים כשהתנועה מושבתת.
orientationGestures
- אם המשתמש יוכל לכוון מחדש את המצלמה, אפשר להקיש או
גרירה. יש להגדיר את הערך כ-
NO
כדי להשבית את שינויי הכיוון של מצלמה. zoomGestures
- אם המשתמש יוכל לעשות תנועת צביטה כדי לשנות את מרחק התצוגה. הגדרה לערך
NO
כדי להשבית את המרחק מהתצוגה. navigationGestures
- אם המשתמש יוכל לשנות את הפנורמה גלויה, משתמשים
יכולים להשתמש בהקשה אחת על קישורי ניווט או להקיש הקשה כפולה על התצוגה כדי לשנות
פנורמיות יש להגדיר ל-
NO
כדי להשבית את השינויים בניווט.
ניתן להפעיל או להשבית את כל התנועות בו-זמנית באמצעות
אמצעי תשלום אחד (setAllGesturesEnabled:
).
Swift
panoView.setAllGesturesEnabled(false)
Objective-C
[panoView setAllGesturesEnabled:NO];
הפעלת Street View באמצעות סכימת כתובות ה-URL
ניתן לצפות בתמונות Google Street View מתוך מפות Google ל-iOS
תרגום מכונה. ניתן להפעיל את האפליקציה מפות Google ל-iOS ברחוב
במצב תצוגה עם הסכימה של כתובת ה-URL comgooglemaps
על ידי הגדרה של mapmode
ל-streetview
. דוגמה לכתובת URL שתפעיל את Street View
מופיעה למטה. מידע נוסף זמין במאמר בנושא סכימת כתובות URL
התיעוד.
comgooglemaps://?center=46.414382,10.013988&mapmode=streetview
מיקומים ונקודת מבט (POV) ב-Street View
GMSPanoramaCamera
מאפשר לך להגדיר את נקודת המבט של Street View
המצלמה היא שילוב של כותרת, גובה-רוחב וזום.
קבוצות קטעי הקוד שבהמשך יטרגטו את המצלמה דרומה ומעט למטה.
Swift
panoView.camera = GMSPanoramaCamera(heading: 180, pitch: -10, zoom: 1)
Objective-C
panoView.camera = [GMSPanoramaCamera cameraWithHeading:180 pitch:-10 zoom:1];
כיוון
המיקום של Street View מגדיר את המיקום של מיקוד המצלמה
אבל הוא לא מגדיר את כיוון המצלמה עבור אותה תמונה.
למטרה הזו, האובייקט GMSOrientation
מגדיר שני מאפיינים:
heading
מגדירה את זווית הסיבוב סביב מיקום המצלמה במעלות ביחס לצפון האמיתי. כותרות נמדדות בכיוון השעון: הצפון הוא 0, המזרח הוא 90, הדרום הוא 180, המערב הוא 270.pitch
(ברירת מחדל,0
) מגדיר את שונות הזווית "up" או 'למטה' מ- גובה הצליל ההתחלתי של המצלמה שמוגדר כברירת מחדל, והוא לרוב (אבל לא תמיד) שטוח אופקי. (לדוגמה, סביר להניח שתמונה שצולמה על גבעה תציג ברירת המחדל למצגת מכירות שאינה אופקית.) זוויות היצירה נמדדות באמצעות ערכים חיוביים כלפי מעלה (עד +90 מעלות ישר למעלה ואורתוגונלית ל) ערך ברירת המחדל של גובה הצליל) וערכים שליליים עם מבט כלפי מטה (ל-90 מעלות ב-90 מעלות) ישר למטה ואורתוגונלי לצליל ברירת המחדל).
שינוי מרחק התצוגה
Street View תומך ברמות שונות של פרטי תמונה באמצעות שינוי מרחק התצוגה. אפשר להגדיר את רמת הזום באופן פרוגרמטי או שהמשתמשים יכולים לשנות את הרמה על ידי תנועת צביטה לשינוי מרחק התצוגה.
הזזת המצלמה
לאחר שיצרת את GMSPanoramaView
, ויש בו
מצלמת ברירת מחדל, אפשר לשנות אותה באחת מכמה דרכים. כשמשנים את
תוכלו להוסיף אנימציה לתנועת המצלמה שמתקבלת.
האנימציה מבצעת אינטרפולציה בין מאפייני המצלמה הנוכחית לבין מאפייני המצלמה החדשים
של המצלמה.
אפשר לשנות את האובייקט GMSPanoramaCamera
ולהגדיר אותו
נכס camera
של GMSPanoramaView
. הפעולה הזו תצמיד את המצלמה
נקודת מבט ללא אנימציה. אפשר ליצור GMSCameraPosition
להגדרה
כל שילוב של כיוון וזום.
Swift
panoView.camera = GMSPanoramaCamera(heading: 180, pitch: -10, zoom: 1)
Objective-C
panoView.camera = [GMSPanoramaCamera cameraWithHeading:180 pitch:-10 zoom:1];
כדי להנפיש מעבר, אפשר להפעיל את
animateToCamera:animationDuration:
של GMSPanoramaView
.
בנוסף, ניתן לשלוט במצלמה באמצעות אנימציית ליבה. הוא עשוי
זמינה דרך CALayer
בהתאמה אישית ב-GMSPanoramaView
,
GMSPanoramaLayer
.
סמנים ב-Street View
האובייקט GMSPanoramaView
יכול להציג סמני מפה. אפשר להשתמש
אותו אובייקט GMSMarker
ב-GMSMapView
או
אובייקט GMSPanoramaView
על ידי הגדרת המאפיינים התואמים שלו:
Swift
// Create a marker at the Eiffel Tower let position = CLLocationCoordinate2D(latitude: 48.858, longitude: 2.294) let marker = GMSMarker(position: position) // Add the marker to a GMSPanoramaView object named panoView marker.panoramaView = panoView // Add the marker to a GMSMapView object named mapView marker.map = mapView
Objective-C
// Create a marker at the Eiffel Tower CLLocationCoordinate2D position = CLLocationCoordinate2DMake(48.858,2.294); GMSMarker *marker = [GMSMarker markerWithPosition:position]; // Add the marker to a GMSPanoramaView object named panoView marker.panoramaView = panoView; // Add the marker to a GMSMapView object named mapView marker.map = mapView;
גודל הסמנים ישתנה כפונקציה של המרחק בין הסמן
המיקום של GMSCameraView
. אם המרחק הזה יותר מדי
נהדר, הסמן יהיה קטן מדי להצגה ולא יוצג
צפייה.
צריך להגדיר את המאפיין panoramaView
כ-nil
כדי להסיר אותו
GMSPanoramaView
.
Swift
marker.panoramaView = nil
Objective-C
marker.panoramaView = nil;
אירועים
ניתן להאזין לאירועים שמתרחשים בפנורמה של Street View, למשל כאשר
המשתמש מקיש על הפנורמה. כדי להאזין לאירועים, עליכם להטמיע את
GMSPanoramaViewDelegate
. לצפייה באופן כללי
במדריך לאירועים ואת רשימת השיטות
GMSPanoramaViewDelegate
.