显示地图

作者: 轻云绿原 | 来源:发表于2017-04-18 17:25 被阅读40次

理解几何地图

在地图上你要怎么表示点的数据依赖于你想要怎么使用它们.Map Kit支持以下三种基础坐标来表示特定的地图上的点数据:

  • map coordinate(地图坐标):是一种用经纬度来表示的坐标.用CLLocationCoordinate2D结构.你可以用MKCoordinateSpanMKCoordinateRegion结构来表示区域.
  • map point(地图点):墨卡托地图投影上x和y的值.map point用于许多地图相关的计算,而不是地图坐标,因为它们简化了计算中涉及的数学。在你的app里,您主要在指定自定义地图叠加层的形状和位置时使用地图点。你可以用MKMapPoint结构来表示一个单独的map point.你可以用MKMapSizeMKMapRect结构来表示一个区域.
  • Point是和坐标系统相关联的view对象上的平面单位.Map PointMap Coordinates在显示自定义内容前都必须转成Points.用CGPoint结构表示一个单独的点,用CGSizeCGRect来表示一个区域.

坐标系统之间的转换

当你需要时你可以两种坐标系统之间进行转换,比如你要加自定义的覆盖物(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也随着地图滚动,你必须使用annotationsoverlays(比如:导航的路线).

配置地图属性

MKMapView类有多个你可以配置的属性.这些属性控制了一些重要的信息,比如当前显示的是哪部分的地图,是否显示3D内容,用户的交互是否允许.

设置地图的显示区域

MKMapViewregion属性控制了地图的当前显示区域.当一个地图刚被创建时,它的显示区域通常是尽可能大的区域.

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.

.....

相关文章

  • iOS笔记-地图的基本使用

    地图的基本使用 1.设置地图显示类型// 1.设置地图显示类型 /** MKM...

  • 高德地图

    一.申请key(略) 二.创建地图 1. 显示地图 1)显示以某点为中心的地图 2)加载地图javascript ...

  • Django Widgets

    Geodjango后台地图默认显示原始地图,现需求为另显示高德地图(围栏编辑) 只是显示围栏,不需求编辑使用dja...

  • 显示地图

    理解几何地图 在地图上你要怎么表示点的数据依赖于你想要怎么使用它们.Map Kit支持以下三种基础坐标来表示特定的...

  • iOS Mapkit的使用

    【iOS】Mapkit的使用:地图显示、定位、大头针、气泡等 标签:iOS地图mapkit 1.显示地图 (1)首...

  • 地图和定位(四)

    一、地图的基本使用(MapKit) 代码: 二、地图显示用户位置 三、模拟追踪显示用户位置 1、显示用户位置的蓝点...

  • Vue百度地图center偏移问题

    最近在vue项目中用到了百度地图,UI是在tab切换到“地图”时显示地图。但是遇到了地图显示时,设定的center...

  • 地图研究

    地图的基本使用 设置地图类型'' // 1.设置地图显示类型'' /**'' MKMa...

  • Echart不显示地图问题

    Echart不显示地图的问题 使用百度Echart的时候遇到不会显示地图的问题,是现在Echart不直接提供地图需...

  • iOS使用百度地图-显示当前定位、逆地理编码、导航

    1. 显示地图 2. 地图定位到当前位置 3.点击地图显示大头针 4.逆地理编码 5.导航

网友评论

    本文标题:显示地图

    本文链接:https://www.haomeiwen.com/subject/ivqqzttx.html