顯示地圖
理解幾何地圖
在地圖上你要怎麼表示點的資料依賴於你想要怎麼使用它們.Map Kit支援以下三種基礎座標來表示特定的地圖上的點資料:
-
map coordinate(地圖座標):是一種用經緯度來表示的座標.用
CLLocationCoordinate2D
結構.你可以用MKCoordinateSpan
和MKCoordinateRegion
結構來表示區域. -
map point(地圖點):墨卡托地圖投影上x和y的值.map point用於許多地圖相關的計算,而不是地圖座標,因為它們簡化了計算中涉及的數學。在你的app裡,您主要在指定自定義地圖疊加層的形狀和位置時使用地圖點。你可以用
MKMapPoint
結構來表示一個單獨的map point.你可以用MKMapSize
和MKMapRect
結構來表示一個區域. -
Point是和座標系統相關聯的view物件上的平面單位.Map Point和Map Coordinates在顯示自定義內容前都必須轉成Points.用
CGPoint
結構表示一個單獨的點,用CGSize
和CGRect
來表示一個區域.
座標系統之間的轉換
當你需要時你可以兩種座標系統之間進行轉換,比如你要加自定義的覆蓋物(overlays)(路線什麼的).你要map coordinate轉成map point
Convert from | Convert to | Conversion routines |
---|---|---|
Map coordinates | Points | convertCoordinate:toPointToView: (MKMapView),convertRegion:toRectToView: (MKMapView) |
Map coordinates | Map points | MKMapPointForCoordinate |
Map points | Map coordinates | MKCoordinateForMapPoint,MKCoordinateRegionForMapRect |
Map points | Points | pointForMapPoint: (MKOverlayRenderer),rectForMapRect: (MKOverlayRenderer) |
Points | Map coordinates | convertPoint:toCoordinateFromView: (MKMapView),convertRect:toRegionFromView: (MKMapView) |
Points | Map points | mapPointForPoint: (MKOverlayRenderer),mapRectForRect: (MKOverlayRenderer) |
把Map view加到使用者介面上.
MKMapView
一個獨立的用於展示地圖資料的介面.它能提供展示地圖資料,管理使用者互動和託管自定義內容.決不要把MKMapView
作為父類.
你可以像用普通view
一樣使用MKMapView
.任何加到MKMapView
上的子view都會以frame
固定住,不會隨著地圖一樣滾動.如果你希望你到到地圖上的view也隨著地圖滾動,你必須使用annotations
或overlays
(比如:導航的路線).
配置地圖屬性
MKMapView
類有多個你可以配置的屬性.這些屬性控制了一些重要的資訊,比如當前顯示的是哪部分的地圖,是否顯示3D內容,使用者的互動是否允許.
設定地圖的顯示區域
MKMapView
的region
屬性控制了地圖的當前顯示區域.當一個地圖剛被建立時,它的顯示區域通常是儘可能大的區域.
typedef struct {
CLLocationCoordinate2D center;
MKCoordinateSpan span;
} MKCoordinateRegion;
span
定義了多大的範圍是可見的.它類似於矩形的寬和高,不過它是用度,分,秒來表示的.如果,你指定了一具特定的距離,可以用MKCoordinateRegionMakeWithDistance
來建立一個區域資料結構(用"米"來表示,而不是度).
你賦值給region
屬性的值,通常和最終存在這個屬性裡的值是不一樣的.
顯示3D地圖
一定要檢查一下
pitchEnabled
屬性,看一下是否支援3D.
一個camera物件用以下屬性來定義一個3D地圖的顯示:
- Altitude(海拔).camera離地表的高度(以米計算).
- Pitch(斜度).0的pitch代表的是標準的2D地圖,camera是垂直向下看.
- heading.camera的朝向.
- center.
.....
相關文章
- 百度地圖開發-顯示地圖預設介面 03地圖
- php怎麼實現定位地圖顯示PHP地圖
- 呼叫百度地圖api只顯示網格地圖API
- openlayer3 基礎學習一建立&顯示地圖地圖
- pyecharts地圖功能,並解決顯示不全或只顯示南海諸島問題解決Echarts地圖
- 高德地圖,只有部分marker顯示InfoWindow並可點選地圖
- iOS開發如何在google地圖上顯示自己的位置iOSGo地圖
- Activity背景顯示app圖示APP
- qt 使用qmake pro檔案新增 ico圖示,程式執行時顯示圖示,exe也顯示圖示QT
- 未經投影的地理座標系如何顯示為平面地圖地圖
- 百度地圖開發-顯示實時位置資訊 04地圖
- 顯示卡效能天梯圖2022最新 桌面顯示卡筆記本顯示卡效能天梯圖最新筆記
- vue 滑鼠移入顯示圖示 ,滑鼠移出隱藏圖示Vue
- Geoserver + MySQL實現圖層顯示和文字顯示ServerMySql
- iOS 高德地圖怎麼在螢幕內顯示所有的Marker?iOS地圖
- RuoYi vue-element-admin 增加原生高德地圖並顯示海量點Vue地圖
- win10如何設定桌面顯示圖示_windows10顯示桌面圖示設定方法Win10Windows
- vue-2 引入echarts畫中國地圖底部地圖填充不顯示, 只出現了南海諸島部分VueEcharts地圖
- Android系統耳機圖示顯示Android
- Qt/C++地圖高階繪圖/指定唯一標識新增刪除修改/動態顯示和隱藏/支援天地圖高德地圖百度地圖QTC++地圖繪圖
- 2021最新顯示卡天梯圖 顯示卡遊戲效能排行遊戲
- Android Studio匯入並顯示國內地圖SDK步驟對比以及需要注意的點(百度地圖和高德地圖為例)Android地圖
- win10 如何設定微信顯示通知和圖示 win10怎麼顯示微信圖示Win10
- WordPress 生成網站地圖顯示 XML 解析錯誤:格式不佳的處理方法網站地圖XML
- 仿釘釘頭像(有頭像顯示圖片拼接,無圖顯示暱稱)
- win10qq圖示怎樣在工作列顯示_win10qq圖示在工作列顯示的方法Win10
- windows10圖示不顯示怎麼設定_win10圖示不顯示在桌面如何解決WindowsWin10
- vmware不顯示usb圖示解決辦法
- MFC CDialogEx.DoModal 彈出Dialog顯示圖示
- Windows 的桌面圖示沒有顯示正確Windows
- windows10照片大圖示不顯示怎麼辦_win10系統不顯示圖示的解決方法WindowsWin10
- win10圖示錯誤顯示怎麼改回來_win10電腦圖示顯示錯誤處理方法Win10
- iOS-百度地圖螢幕所顯示範圍內的經緯度iOS地圖
- vue3實現模擬地圖上,站點名稱按需顯示的功能Vue地圖
- 畫停車位需要什麼工具,可以顯示停車位的地圖有哪些地圖
- XManager:xshell顯示圖形化介面
- CSS圖片的灰色顯示效果CSS
- 小程式button背景顯示圖片
- vue el-image 顯示圖片Vue