顯示地圖
理解幾何地圖
在地圖上你要怎麼表示點的資料依賴於你想要怎麼使用它們.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地圖
- MapSCII:在終端顯示世界地圖地圖
- android ---------高德地圖實現定位和3D地圖顯示Android地圖3D
- Xamarin.Forms支援的地圖顯示型別ORM地圖型別
- 呼叫百度地圖api只顯示網格地圖API
- 如何不顯示地圖就獲取位置資料?地圖
- Android解決百度地圖SDK打包後不能顯示地圖的方法Android地圖
- openlayer3 基礎學習一建立&顯示地圖地圖
- 高德地圖,只有部分marker顯示InfoWindow並可點選地圖
- pyecharts地圖功能,並解決顯示不全或只顯示南海諸島問題解決Echarts地圖
- iOS開發如何在google地圖上顯示自己的位置iOSGo地圖
- 百度地圖開發-顯示實時位置資訊 04地圖
- 地圖網站顯示實時交通路況資訊的原理地圖網站
- 【CSDN部落格遷移】Android高德地圖開發(2)——地圖顯示+自定義控制元件Android地圖控制元件
- [原] SharePoint 2010 WebPart與Google地圖系列 一:建立顯示地圖的WebPartWebGo地圖
- Activity背景顯示app圖示APP
- win7圖片只顯示圖示不顯示預覽圖解決方案Win7圖解
- qt 使用qmake pro檔案新增 ico圖示,程式執行時顯示圖示,exe也顯示圖示QT
- iOS 高德地圖怎麼在螢幕內顯示所有的Marker?iOS地圖
- 未經投影的地理座標系如何顯示為平面地圖地圖
- ChangeWave:調查顯示90%使用者認可iOS 6地圖iOS地圖
- Nielsen:調查顯示谷歌地圖為最受歡迎Android程式谷歌地圖Android
- img圖片無法顯示利用onerror事件顯示替代圖片Error事件
- vue-2 引入echarts畫中國地圖底部地圖填充不顯示, 只出現了南海諸島部分VueEcharts地圖
- 在工作列上顯示圖示 (轉)
- vue 滑鼠移入顯示圖示 ,滑鼠移出隱藏圖示Vue
- Geoserver + MySQL實現圖層顯示和文字顯示ServerMySql
- RuoYi vue-element-admin 增加原生高德地圖並顯示海量點Vue地圖
- 在AngularJS中使用谷歌地圖把當前位置顯示出來AngularJS谷歌地圖
- 谷歌釋出Youtube趨勢地圖 實時顯示最火視訊谷歌地圖
- Qt/C++地圖高階繪圖/指定唯一標識新增刪除修改/動態顯示和隱藏/支援天地圖高德地圖百度地圖QTC++地圖繪圖
- win10如何設定桌面顯示圖示_windows10顯示桌面圖示設定方法Win10Windows
- Android系統耳機圖示顯示Android
- 配置CKEditor顯示的圖示及配置
- iOS設定tabbar不顯示文字,只顯示圖片iOStabBar
- win10 如何設定微信顯示通知和圖示 win10怎麼顯示微信圖示Win10
- Android Studio匯入並顯示國內地圖SDK步驟對比以及需要注意的點(百度地圖和高德地圖為例)Android地圖