百度地图上显示施工标志代表台湾的特色标志什么意思?

在 Swift 中使用百度地图 SDK - 简书
下载简书移动应用
写了144914字,被747人关注,获得了411个喜欢
在 Swift 中使用百度地图 SDK
百度地图 SDK提供了一套功能很强大的地图框架使用接口,它不仅提供构建地图的基本接口,还提供POI搜索、地理编码、路线规划、定位、本地覆盖物绘制等服务。而由于百度地图SDK官方网站 上给出的使用说明是使用 Objective-C 语言以及 Xcode 4来进行开发的,很多朋友在使用 Swift 语言来进行开发的过程中遇到了不少的问题,在此我将我的使用经验写下来给大家进行分享,帮助大家快速使用百度地图。
百度地图更新说明
7月16日,百度地图SDK发布了2.8.1版本的SDK,增加了不少新功能。
在这个版本中,百度地图不再提供 .a 静态库形式的SDK包,只提供 framework 静态库形式的SDK包。
此外,还增加了对 iOS 9 的支持。
4月9日,百度地图SDK发布了2.7.0版本的SDK,增加了不少新功能。
在这个版本当中,最重大的变更就是提供了framework静态库的SDK包,使百度地图 SDK与Swift的交互更加的友好和方便。
对于早先使用 iOS SDK 2.5.0以前童鞋来说,百度地图2.6.0目前做出了如下的更新,请大家要注意,不要被这几个坑坑到了。
从2.6.0开始,用户位置更新功能由原来的didUpdateUserLocation变更为了didUpdateBMKUserLocation,需要修改这个方法才能使用定位功能的用户位置更新。
从2.6.0开始,用户位置更新将由 BMKLocationService()类来完成,因此需要调用其startUserLocationService()方法才能够开始定位操作。
初始项目配置
从百度地图SDK 下载页面下载最新版本的 SDK 后(,目前最新版本为2.8.1)并且申请完密钥后(),就可以创建一个新的项目来为项目配置百度地图 SDK 了。
拷贝文件到工程
使用2.8.0以前版本的 .a 静态库
首先将百度MapAPI提供的头文件(inc文件夹)和静态库(.a)文件拷贝到工程目录下。当然如果为了省事,完全可以把 inc 文件夹、静态库文件以及mapapi.bundle包文件全部拷贝到工程目录下面。
这里的话静态库文件我都放置到了libs文件夹下面便于管理。如图所示:
然后别忘了将这些文件夹拖进项目里面,弹出来的提示勾选上Copy if needed。
使用 2.7.0以后版本的 framework 静态库
首先将百度MapAPI所提供的框架(framework)文件拷贝到文件目录下。这里的话,我们在项目的根目录中新建了一个Resource文件夹用来存放工程中所需要用到的所有第三方框架,其中新建了BaiduMapSDK来存放SDK文件。
然后别忘了将这些文件夹拖进项目里面,弹出来的提示勾选上Copy if needed。
桥接头文件
接下来要在项目当中引入桥接头文件(BaiduMapTest-Bridging-Header.h)。添加OC桥接头文件的方法有很多,在此我就不就详细介绍了:
第一种方法:自行创建一个.mObjective-C 文件,然后XCode会提示您是否添加桥接头文件,选择确认后,桥接头文件便创建成功了,名为"\(您项目的名称)-Bridging-Header.h"。
添加桥接头文件
第二种方法:自行添加一个.h文件,然后在项目设置的Bulid Setting -& Swift Compiler - Code Generation -& Objective-C Bridging Header中添加这个头文件的路径。
Build Setting里面的OC桥接头文件设置
在这里我推荐大家使用第一种方法,至于原因稍后我会进行解释。
创建完毕后,在这个桥接头文件下面输入以下语句来引入对百度 API 头文件的引用。
// framework框架头文件导入方法,以下两种方法二选一
#import &BaiduMapAPI/BMapKit.h&
//引入所有的头文件
#import &BaiduMapAPI/BMKMapView.h&
//只引入所需的头文件
配置静态库编译方式
将之前我们创建的.m文件修改为.mm 文件,具体操作方法是选中.m文件,然后在界面右方的功能窗格中的文件检查器中进行修改。首先是将 Name栏中的.m文件修改为.mm,然后再将 Type由Objective-C Source修改为Objective-C++ Source。如图所示:
修改.m 文件
为什么要这样子做呢?百度已经有了完好的解释:
注:静态库中采用ObjectC++实现,因此需要您保证您工程中至少有一个.mm后缀的源文件(您可以将任意一个.m后缀的文件改名为.mm),或者在工程属性中指定编译方式,即将Xcode的Project -& Edit Active Target -& Build -& GCC4.2 - Language -& Compile Sources As设置为"Objective-C++"
但是为什么我们不修改编译方式呢?那是因为我们可能还会使用其它的第三方库。而如果这些第三方库不是采用 Objective-C++来进行实现的话,那么那个第三方库就会失效。因此,为了规避这个方法出现,我们采用修改为.mm文件是万无一失的。当然如果你不打算使用其他第三方库的话也可以采用修改编译方式。其在 Xcode 6当中的实际路径为:Build Settings -& Apple LLVM 6.0 - Language -& Compile Sources As。
在 Xcode 中选择项目设置, 定位到Build Settings -&Linking -& Other Linker Flags,双击添加-ObjC标识符。如图所示:
添加-ObjC标识符
之所以使用这个标识符,和Objective-C的一个重要特性:类别(category)有关。由于Objective-C没有为每个函数(或者方法)定义链接符号,它只为每个类创建链接符号。这样当在一个静态库中使用类别来扩展已有类的时候,链接器不知道如何把类原有的方法和类别中的方法整合起来,就会导致在调用类别中的方法时,出现"selector not recognized",也就是找不到方法定义的错误。为了解决这个问题,引入了-ObjC标志,它的作用就是将静态库中所有的和对象相关的文件都加载进来。
Framework静态库配置方式
如果我们下载的是framework静态库框架文件的话,那么配置过程如下:
下载好的框架文件分为适用真机和适用模拟器的框架,分别存放在libs/Release-iphoneos文件夹和libs/Release-iphonesimulator文件夹下。我们可以根据我们进行调试的设备来选择合适的框架。
如果都需要在真机和模拟器上进行调试,那么就要使用 UNIX 命令lipo将这两个文件进行合并。
教大家一个非常简单的方法吧!我们将Release-iphoneos和Release-iphonesimulator这两个文件夹拖到你的系统根目录下面(一般是你的用户名,这个目录下面还拥有下载、图片等等目录,或者使用“前往”-&“个人”,或者使用快捷键“Shift + Command + H”前往)。
然后打开“终端”应用,不出意外的话输入
lipo -create Release-iphoneos/BaiduMapAPI.framework/BaiduMapAPI Release-iphonesimulator/BaiduMapAPI.framework/BaiduMapAPI -output BaiduMapAPI
这段代码就可以成功创建一个新的BaiduMapAPI文件了。如图所示:
接下来,将这个文件替换掉Release-iphoneos或者iphonesimulator文件夹中的BaiduMapAPI文件即可。
在Xcode中选中工程,在 TARGETS -& Build Phases -& Link Binary With Libaries 中点击“+”按钮,在弹出的窗口中点击“Add Other”按钮,选择替换后的 BaiduMapAPI.framework 文件添加到工程中。如图所示:
导入framework框架
引入资源文件
百度地图将资源图片存放在了mapapi.bundle文件当中,因此我们需要将这个文件引入项目,否则基础地图不能够正常显示。
打开BaiduMapAPI.framework文件,然后将里面的mapapi.bundle文件导入到项目当中,记得勾选Copy items if needed选项。
.a静态库配置方式
如果我们下载的是.a静态库框架文件的话,那么配置过程如下:
引入静态库文件
百度地图 SDK 官方网站上面给出了三种引入静态库文件的方法,但是根据我的使用经验来看,最适合的方法就是第三种方法了。
第三种方式
设置静态库的链接路径,同样在项目设置中,定位到 Build Settings -& Search Paths -& Library Search Paths中添加静态库目录。一般情况下的设置是$(PROJECT_DIR)/libs/Release$(EFFECTIVE_PLATFORM_NAME)。$(PROJECT_DIR)是指项目的目录所在位置,$(EFFECTIVE_PLATFORM_NAME)代表当前配置是OS还是simulator。如图所示:
设置静态库的链接路径
第二种方式
第二种方式和“引入framework静态库”方式是类似的,都是使用lipo命令来合并文件,只不过这次合并的是.a文件。
然后打开“终端”应用,输入
lipo -create Release-iphoneos/libbaidumapapi.a Release-iphonesimulator/libbaidumapapi.a -output libbaidumapapi.a
这段代码就可以成功创建一个新的.a文件了。如图所示:
合并成功!
引入系统framework
按照百度的官方说明,引入CoreLocation.framework和QuartzCore.framework、OpenGLES.framework、SystemConfiguration.framework、CoreGraphics.framework、Security.framework即可。引入方法也是定位到项目设置,然后General -& Linked Frameworks and Libraries中进行添加。
Info.plist 设置
定位功能提示
自 iOS 8开始,苹果要求定位功能需要提示用户是否是允许地理位置使用。因此,需要在info.plist里添加(以下二选一,两个都添加默认使用NSLocationWhenInUseUsageDescription):
NSLocationWhenInUseUsageDescription ,允许在前台使用时获取GPS的描述
NSLocationAlwaysUsageDescription ,允许永久使用GPS的描述
如图所示:
添加GPS描述
此外,在使用Xcode6进行SDK开发过程中,需要在info.plist中添加:Bundle display name ,且其值不能为空(Xcode6新建的项目没有此配置,若没有会造成manager start failed)。在这里我们添加$(PRODUCT_NAME),也就是项目名称。如图所示:
添加 Bundle display name
自 iOS 9 开始,苹果要求使用更安全的HTTPS协议来进行数据的传输,尽可能避免使用HTTP协议,因此,需要在info.plist中添加:
&key&NSAppTransportSecurity&/key&
&key&NSAllowsArbitraryLoads&/key&
如图所示:
感谢的提醒
好了,百度地图SDK的初始配置就结束了,这时候您的项目应该要能够顺利的通过编译。如果编译出错,请重新检查配置是否正确。
初始化 BMKMapManager
在 AppDelegate.swift文件当中添加相关初始化代码,使得完成对 BMKMapManager 的初始化,具体解释都在代码当中:
@UIApplicationMain
class AppDelegate: UIResponder, UIApplicationDelegate {
var window: UIWindow?
var mapManager: BMKMapManager?
func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -& Bool {
// Override point for customization after application launch.
mapManager = BMKMapManager() // 初始化 BMKMapManager
// 如果要关注网络及授权验证事件,请设定generalDelegate参数
let ret = mapManager?.start("在此处输入您的授权Key", generalDelegate: nil)
// 注意此时 ret 为 Bool? 类型
if !ret! {
// 如果 ret 为 false,先在后面!强制拆包,再在前面!取反
NSLog("manager start failed!") // 这里推荐使用 NSLog,当然你使用 println 也是可以的
self.window?.addSubview(navigationController!.view) // 以下这两句如果不用 navigationController 的话完全可以不用要的
self.window?.makeKeyAndVisible()
return true
创建BMKMapView
定位到 ViewController.swift 文件,便可以创建BMKMapView 了。
实例代码如下:
class ViewController: UIViewController, BMKMapViewDelegate {
var mapView: BMKMapView!
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.
mapView = BMKMapView(frame: self.view.frame)
self.view = mapView
override func viewWillAppear(animated: Bool) {
mapView.viewWillAppear()
mapView.delegate = self
// 此处记得不用的时候需要置nil,否则影响内存的释放
override func viewWillDisappear(animated: Bool) {
mapView.viewWillDisappear()
mapView.delegate = nil
// 不用时,置nil
要注意,这个类要遵循 BMKMapViewDelegate协议,否则不能够使用代理设置。BMKMapView新增viewWillAppear、viewWillDisappear方法来控制BMKMapView的生命周期,并且在一个时刻只能有一个BMKMapView接受回调消息,因此在使用BMKMapView的viewController中需要在viewWillAppear、viewWillDisappear方法中调用BMKMapView的对应的方法,并处理代理。
编译并在模拟器上运行,效果如下图所示:
模拟器运行
百度地图使用的定位功能实际上仍然是系统自带的定位功能,百度地图仅仅只是进行了封装。因此,大大减小了我们的使用难度。
首先我们仍然定位到 ViewController.swift 文件当中,首先给这个类遵循BMKLocationServiceDelegate协议。然后创建一个变量用来保存位置服务设置。具体代码如下:
class ViewController: UIViewController, BMKMapViewDelegate, BMKLocationServiceDelegate {
var locService: BMKLocationService!
override func viewDidLoad() {
// 设置定位精确度,默认:kCLLocationAccuracyBest
BMKLocationService.setLocationDesiredAccuracy(kCLLocationAccuracyBest)
//指定最小距离更新(米),默认:kCLDistanceFilterNone
BMKLocationService.setLocationDistanceFilter(10)
//初始化BMKLocationService
locService = BMKLocationService()
//启动LocationService
locService.startUserLocationService()
mapView.showsUserLocation = false
//设置位置跟踪态
mapView.userTrackingMode = BMKUserTrackingModeNone
//显示定位图层
mapView.showsUserLocation = true
//实现相关delegate 处理位置信息更新
//处理方向变更信息
func didUpdateUserHeading(userLocation: BMKUserLocation!) {
mapView.updateLocationData(userLocation)
//处理位置坐标更新
func didUpdateBMKUserLocation(userLocation: BMKUserLocation!) {
mapView.updateLocationData(userLocation)
override func viewWillAppear(animated: Bool) {
locService.delegate = self
override func viewWillDisappear(animated: Bool) {
locService.delegate = nil
设置位置精确度有很多可选值,大致上包括以下几条:
kCLLocationAccuracyBest:设备使用电池供电时候最高的精度
kCLLocationAccuracyBestForNavigation:导航情况下最高精度,一般要有外接电源时才能使用
kCLLocationAccuracyNearestTenMeters:十米误差范围
kCLLocationAccuracyHundredMeters:百米误差范围
kCLLocationAccuracyKilometer:千米误差范围
kCLLocationAccuracyThreeKilometers:三千米误差范围
设置位置跟踪态也有以下几种:
BMKUserTrackingModeNone:不进行用户位置跟踪
BMKUserTrackingModeFollow:跟踪用户位置
BMKUserTrackingModeFollowWithHeading:跟踪用户位置并且跟踪用户前进方向
编译运行后,出现界面如下:
提示是否允许使用定位
这就是我们之前在Info.plist文件中设置的那个内容了,这里我们选择 Allow,允许使用定位。
在 iOS模拟器中,要如何模拟所在位置呢?其实是非常简单的,定位到 Debug -& Location -& Custom Location,在弹出的对话框中输入目的位置的经纬度即可,如图所示。这里我输入的是天安门位置的经纬度(39'9076'', 116'391'')。
设置经纬度
设置完经纬度后,大家就能够在地图上看到模拟的地理位置了,以一个蓝色小圆点进行显示。
此外,我们也可以使用调试区域的“区域模拟“来实现定位功能,如图所示。不过“区域模拟”所提供的模拟区域比较少,只存在一些经典的城市区域:
定位频率和定位精度并不应当越精确越好,需要视实际情况而定,因为越精确越耗性能,也就越费电。
使用完定位服务后如果不需要实时监控应该立即关闭定位服务以节省资源。
iOS8中不需要指定中心点,系统会默认会将当前位置设置为中心点并自动设置显示的区域范围。
关于百度地图的 Swift 版本,我在
上面发布了一个小的 Demo,基本上是参照百度官方所提供的 Demo,目前 Demo 版本仍在更新制作中,尽请期待~
打开微信“扫一扫”,打开网页后点击屏幕右上角分享按钮
被以下专题收入,发现更多相似内容:
Write the Code, Change the World, 改变世界从编程开始, 收集编程相关的干货
· 10037人关注
· 5738人关注
程序员日常,代码,教程,学习笔记,谢绝推广文,软推文,软广告,blabalabala...
· 5685人关注
选择支付方式:百度地图上显示施工标志代表什么意思?_百度知道
百度地图上显示施工标志代表什么意思?
您的回答被采纳后将获得:
系统奖励20(财富值+经验值)+难题奖励20(财富值+经验值)
我有更好的答案
表示正在施工,此路不通。
其他类似问题
为您推荐:
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁在网页中嵌入带标识的百度地图
最近在做一个网站,需要嵌入经销商的位置和信息。搜索了很多资料,终于完成了功能,给大家分享一下。地图功能:按标尺缩放,鼠标滑动缩放,添加标注和 信息。具体步骤:1:首先到百度地图API,申请密钥。(如果...
   
最近在做一个网站,需要嵌入经销商的位置和信息。搜索了很多资料,终于完成了功能,给大家分享一下。
地图功能:按标尺缩放,鼠标滑动缩放,添加标注和 信息。
具体步骤:
1:首先到百度地图API,申请密钥。(如果没有百度账户得先注册一个)
2:百度地图API的功能做得比较分散,像标注、缩放等都是需要自己一步步找代码的。我把代码整理了一下,给大家复制一下,应该是最简洁的了
&meta http-equiv=&Content-Type& content=&text/ charset=utf-8& /&
&script type=&text/javascript& src=&http://api./api?v=1.5&ak=申请的密钥&&&/script&
&div style=&width:500height:500margin:0 auto& id=&allmap&&&/div&
&script type=&text/javascript&&
&&&&var map = new BMap.Map(&allmap&);&&&&
&&&&var point = new BMap.Point(116.384, 39.987);&&// 需要标注的位置的经纬度&&
&&&&map.centerAndZoom(point, 15);&&// 中心位置和缩放倍数
&&&&map.enableScrollWheelZoom();&& // 添加滚动轴
&&&&map.addControl(new BMap.NavigationControl());&& // 添加左上角的标尺工具
&&&&map.addControl(new BMap.NavigationControl());&&&&
&&&&map.addControl(new BMap.ScaleControl());&&&&
&&&&map.addControl(new BMap.OverviewMapControl());&&&&
&&&&map.addControl(new BMap.MapTypeControl());&&&&
&&&&map.setCurrentCity(&北京&);&
&&&&var opts = {&&&&
&&&&&&&& width : 200,&&&& // 信息窗口宽度&&&&
&&&&&&&&height: 20,&&&& // 信息窗口高度&&&&
&&&&&&&& title : &健翔桥东华亭家园&&&// 信息窗口标题&&&
&&&&var infoWindow = Window(&xxx公司&, opts);&&// 创建信息窗口对象&&&&
&&&&map.openInfoWindow(infoWindow, map.getCenter());&&&&&&// 打开信息窗口&
&&&&var marker = new BMap.Marker(point);&&&&&&&&// 创建标注,即地图上的小红点&&&&
&&&&map.addOverlay(marker);&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
(责任编辑:phpcms)
本文关键字:
广告赞助商
最新视频推荐
Copyright (C) 2007-, All Rights Reserved 版权所有 . 沪ICP备号
地址:上海徐汇区零陵路585号 爱邦大厦26H座
传真(FAX):021-
电话(Tel):021-
PHP100 Website Powered by PHPCMS. For PHP100. 服务器维护:阿里巴巴-阿里云地图中都有哪些符号分别表示什么意思识地图的基本知识
建吧人类241
http://www./catalog13/index.aspx?id=19 http://bbs.w3china.org/dispbbs.asp?boardID=21&ID=28165 地图知识 一、地图的定义 地图是地球(或星球)在平面上的图形,更确切地说:地图是根据一定的数学法则,将地球(或星球)的自然现象和社会现象通过概括和取舍用符号缩绘在平面上的图形. 且按每一具体地图的用途不同有选择和有说明的显示出若干现象的地理分布和相互联系.地图所表现的是地球的物体和现象在平面上的缩写,但是它不同于地面的写景图、照片或图画,因为它有独特的特性: 1.特殊的数学法则: 我们知道,地球的表面是不可展开的曲面,测制地图时,首先必须将地球表面化算到近似的旋转椭球体上,然后再将旋转椭球体面描绘到平面上,这个过程是用地图投影这个特殊的数学法则来解决的,它是构成地图的基础. 2.特定的符号系统: 编制地图时,要根据一定的图式,按其规定的符号表示出地球表面的一切事物或现象. 3.制图综合的方法: 地图的另一特性是以制图综合的方法来表示内容的.综合包括取舍和概括两种意思.随着地图比例尺的缩小,表示在地图上的各种要素的容量,也随之减少.微小的、次要的可舍去,基本的主要的要留,并着重表示. 二、地图的比例尺 地图是将地球表面按一定的比例缩小后描绘在平面上的图形.因此,要想知道地图上某一段距离在实地上的长度,就必须知实地在地图上缩小的倍数. 地图比例尺的定义:地图上某一段长度与实在相应长度之比. 地图比例尺的表现形式: 1.文字比例尺:它是直接用文字来说明地图与实地上长度的比例关系,如“1厘米代表10公里”. 2.分数式比例尺:分数式比例尺,其分子为图上距离,分母为实地距离.分子与分母为同一单位,且分子为1,如“1:5000”. 3.图解式直线比例尺:地图上比较常见的一种比例尺,它可以不必经过数学计算,可直接在地图上量出相就的实地距离. 4.斜分比例尺:斜分比例尺是纵横两种分划的复合比例尺,故又叫复比例尺,又可称为微分尺. 5.纬线比例尺:上述直线比例尺及斜分比例尺主要用于大中比例尺地图,而在小比例尺(1:100万以下)的地图上,由于投影的关系,使之各纬线(或经线)的长度变形不同,所以不能用一种直线比例尺来概括全图.此时应对每一纬线(或经线)画一个直线比例尺,结合起来叫做纬线比例尺. 地图的一般分类 地图可按内容、比例尺、用途、绘图区域、使用方式、年代等进行分类. 按内容,地图可分为普通地图和专题地图两大类.普通地图指综合反映地面上物体和现象一般特征的地图,内容包括各种自然地理要素(地形、水系、植被等)和社会经济要素(居民点、行政区划、交通线路等).这类地图可为国家经济、文化、国防建设提供必要的资料,也是绘制专题地图的底图.专题地图,着重表示自然和社会现象的某一种和几种要素.这类地图基本上可以归纳为三种类型,即自然地理图,如气候图、地质图、地震图、土壤图、植被图等;社会经济图,如经济地图、政区图、人口分布图、生产规划图等;历史地图. 按比例尺的大小,地图可分为大、中、小比例尺地图,.比例尺大于或等于10万分之一的地图是大比例尺地图,小于或等于100万分之一的地图是小比例尺地图,大于100万分之一而小于10万分之一的是中比例尺地图.我们教学上所用的地图一般都属于小比例尺地图.如教学挂图、地图册、填充图、课本插图等. 按制图区域分为世界地图、半球图、大洲和大洋图、地区图、省市图、县乡图. 按用途分为军事地图、规划地图、交通图、航海图、旅游地图、教学地图、科学参考地图等. 按使用方式有挂图、桌图、野外用图. 按颜色有单色图和多色图. 按表达形式有线划地图和影像地图. 此外,还有地球仪、块状图、月球图、形星图、星空图,现代地图已出现微缩地图、数字化地图等. 特种地图及其应用 常见地图的品种很多,但一般都是按一定的数学法则,运用符号系统概括地将各种自然或社会经济现象缩小表示在平面上,并以单张或图集的形式展示给人们阅读、使用.它已成为人们日常工作、学习、旅行经常利用的工具,更是研究地理学及相关科学、从事地理教学工作的重要手段.随着科学技术的迅速发展以及多学科的相互渗透,地图从内容到形式,从理论到方法,从编制到应用都随之不断发展,从而也就形成了许多不是常规形式或采用特殊材料复制的地图,如有声地图、数字地图、立体地图(包括立体模型、计算机辅助制作的三维透视图、光栅地图、互补色地图等)、盲文地图、发光地图、非纸质地图(包括塑料地图、丝绸地图、珠光膜地图)等,我们统称其为特种地图.地图大家族中的这些特殊成员丰富和发展了地图学理论,扩大了地图应用的广度和深度,在国民经济建设、国防建设以及日常生活中起着重要的作用. 立体地图 地图一般只表示地面的平面特征.要说明高度分布的特点,必须通过加注高程数据,或者绘制等高线图,或者运用晕渲等方法才可间接表示.而立体地图则可以直接运用目视的方法或借助于仪器设备,观察地形及其它地理要素的立体形态.目前常见的立体地图有好多种,如立体模型、计算机辅助制作的三维透视图、光栅地图、互补色地图等. 立体地形模型 传统的地形模型常用石膏或砂、石、泥土垒成.这种方法和材料延用已久,目前已逐步被塑料压模制作的立体模型所替代.这种新型材料的立体地图轻便、牢固,色彩鲜艳,精度较高,注记清晰,深受欢迎. 计算机辅助制作的三维透视图 这是计算机与传统地图制作相结合的新颖图型.它在对原等高线地形图数字化的基础上,经过绘制三维透视图的自动绘图软件,在绘图机上自动绘制而成,可从不同的透视角度(0°—90°)和方位(0°—360°)上获得同一地区无数个不同的三维透视立体图,方法简便,图形新颖,地形特征明显、突出,但量算精度较差.三维透视图不仅可以表示地形要素,现在更已广泛地运用于各种专题地图.它以平面表示地理现象的地域位置,而以立体的柱形、网格或趋势而等形式表示专题要素,如人口、环境、社会经济要素等的分布特征. 光栅地图 我们可以在一些画册的封面或学生用的直尺图案上看到,有些图像从某个角度观察,是一幅栩栩如生的立体风景画或立体影像,这是光栅立体照片.有些地图也具有这种特征,它是利用双镜头照相机从不同的角度对立体模型的地图或景物进行摄影,然后把这两张影像迭印在一起,得到多组条状像对,再覆盖一张由塑料制成的光栅薄膜通过光栅即可见虚的立体图像.目前由于成像清晰度不够,还受到摄制照片的幅面及工艺所限,只能制作一些较小的表示概貌的地图. 互补色地图 互补色地图是根据地貌形态和地理景观的实际情况,应用人眼的视差现论和红绿互补的原理制成的.当人用双眼同时观察某一地貌形态或地理景观时,它们在左右两眼视网膜上成像的大小、形状和亮度基本相同.由于人的双眼是从两个不同位置和角度观察景物,在左、右两眼视网膜上所成的平面图像的位置存在一个位差,即人眼的视差,它经过大脑视区的加工后,就会形成一个完整的具有立体深度的图像.此时,借助颜色中红、绿是一对互为补色的色彩,将高山、河流、建筑物、风景点等不同的地貌形态和地理景观印刷成红、绿两色相互错开而又迭置的图形,就可得到一张用肉眼看来似乎是杂乱无章,但在红、绿眼镜下却是一幅栩栩如生的立体地图.使用互补色地图时,只要戴上一副特制的红绿互补色眼镜,即一边为红色,一边为绿色.由于红绿镜片的滤色作用,使每一只眼只能看到一种颜色的线条,通过红绿眼睛将具有视差的两张图各自反映到大脑中,就能建立起一个立体的景象.互补色地图由于能生动逼真、色彩醒目地给人展现出立体地形,使人感到活泼、直观,因而在地理教学中,使学生能更直观、更深刻地理解多种地貌形态(如冰川、河谷、岩溶、黄土沟谷、海岸等),也能为旅游者提供更全面、更直观的旅游区域概况. 有声地图 纸张是地理信息的常见载体,尽管通过图型的合理设计以及色彩的科学运用,图面的载负量已经相当可观,但是需要在地图上表示的地理信息量更大,往往受到幅面、比例尺的限制,只能有选择地表示部分信息,且以静态的地理景观及其时空分布特征为主.过分强调提高图面载负量,有时还会适得其反.而增加地图的信息容量,提高应用效果的有效途径之一是改变纸张作为单一的载体形式.于是,就将具有高密度记录信息的磁带加上附加装置与常规地图相结合,形成了“有声地图”.有声地图是根据人的视听处于比例协调的情况下,能够帮助提高识记能力的原理而设计制作的.根据心理物理学研究表明,在人类的感觉器官中,以视觉传递信息最快,听觉次之,如果采用一定的比例混合使用视觉和听觉,在大脑皮层上建立起来的暂时神经联系会不断得到补充、修正、完善,最后形成完整的物像概念.有声地图由普通地图、指控器、检索垫和录放机附加器所组成.指控器是一根由电子线路构成的指示棒,可用来指点地图上的地物符号,并能从磁带中检索出地物符号的说明;检索垫是由尼龙做成的,表面印有能作为地图定位用的许多方格,夹层内具有导电树脂混合胶印成的检索栅格和引出电极;录放机附加器具有记忆、寻址和控制功能,它受检索垫输出的信号控制.有声地图使用时,只要将地图放在检索垫上,并按原来的定位要求定位,当指控器指向地图某一地物符号时,指控器输出的检索信号由检索垫夹层内的栅格通过引出电极进入录放机附加器,并从磁带上检索出相应的解说内容.这样,在观察地图上某一地物符号的同时,也能听到有关该地物的解说.随着时间的延续,视觉注视某一地物符号,听觉却在不断按受新的内容信息,此时,使人处于思想高度集中的状态,有利于提高地图的阅读和应用效果. 数字地图 普通的地图都是印刷在纸上或其它材料上,可以直接进行阅读、量算.而数字地图则是一种把需要表示在地图上的所有信息经过数字化贮存在计算机内不显示图形,使用时则进行有目的处理、分析,然后以图形和其它形式(剖面、过程线等)或直接提供答案数据的方式表示的特种“地图”.它的数据来源于各种遥感图像以及普通地图、专题地图,运用专门的程序将这些信息全部转化为各类数据,可根据用户要求进行分类、组合、计算、处理,然后形成不同比例尺系列的各种新图型.由于数字地图快速、精确、信息量丰富、图型新颖多样,用途日益广泛.如以数字地图形式表示的交通图可以根据需要及时显示所需地区的图形并将比例尺调整至足以分辨的程度,提供不断变化着的详细的道路信息.又如瑞士国家图集,也可将其全部信息存贮在一张特定的46软盘上,供读者在微机上调用、阅读. 盲文地图 专供盲人使用,以大小相同、不同组合的凸形圆点显示地物要素.这在许多国家都有制作,小比例尺的如波兰地图,大比例尺的如美国编制的白宫游览图等. 发光地图 也称夜光地图、荧光地图,是采用特制的彩色油墨和普通印刷方法,将地图内容印在特制的荧光纸上,在黑暗环境下,借助不可见的紫外线连续照射图面,从而清晰地阅读内容.荧光地图种类很多,有荧光地形图、荧光航海航空图及其它地图,广泛运用于夜间军事行动或地下工程使用. 非纸质地图 根据承载地图要素的材料,有塑料(塑料片、塑料布、珠光塑料膜等)、丝绸、涤棉等多种非纸质地图.这些地图一般都具有耐折、耐磨、轻便、不怕水等特点,其中涤棉地图是作为教学挂图的良好材料,愈来愈受到教师的喜爱及采用;塑料地图中的透明聚酯塑料片地图,往往可以作为地图集的第二底图(如制作行政区的塑料片底图,可以覆盖在各种专题地图上,供专业分析)或作为某一专题图的组合(如用塑料片制作点法的人口图,作为覆盖在其它人口图上进行分析). 地图是一个“大家族”.如果按照地图的功能作介绍,那么随着国民经济的发展及科学技术的进步,还有不少新的品种.所有这些特种地图和我们常见的普通地图、专题地图、影像地图,在各行各业中,特别在科学文化教育事业中发挥着巨大的应用潜力并起着愈来愈重要的作用. 我国古代地图学家——裴秀 裴秀是我国古代一位优秀的地图学家和地理学家,是一位制图体制的革新者,他以自己的研究所得创造性地提出了“制图六体”,这在我国地图史上有着划时代的意义,而且在世界地图史上也占有重要地位.有人把我国的裴秀和欧洲地图学者托勒密(约公元99年—168年)比作古代地图史上东西方相辉映的两颗巨星. 裴秀,字季彦,河东闻喜(今山西省闻喜县)人,生于公元223年(魏文帝黄初四年),卒于公元271年(晋武帝秦始七年),享年48岁.他的祖父裴茂曾做过汉朝尚书令,他的父亲裴潜做过魏国的尚书令.裴秀年幼时聪明好学,《晋书·裴秀传》中说他“博学强记,无文不读”.由于家居宦门,又有才能,所以晋武帝时便官至“司空”,管理国家的户籍土地田亩赋税及地图等事.34岁时随晋文帝司马昭到淮南征伐诸葛诞,给晋文帝出谋献策.诸葛诞平定后裴秀被封为尚书令,又进封鲁阳乡侯,增邑千户.由于这次出证和平时任“司空”职务,他能更多地接触地图资料和考虑地理问题,这为他以后改革地图的绘制方法奠定了基础. 裴秀在行军过程中认直考察军队所经之地,记录地域远近,山川险易、道路曲直等,然后和从前的地图作对比,检查是否有错误;又考证了禹贡所记载的山川、海流、原隰陂泽、古之九州以及晋之十六州及郡国县邑、疆界乡陬、水陆径路等.通过对比论证,裴秀逐步发现当时地图所存在的缺陷.一方面地图所载地名与实际地名不相符.《晋书·裴秀传》载:“以职在地官,以禹贡山川地名从来久远,多有变易,后世说者,或疆牵引,渐以暗味,于是甄摘旧文,疑者则阙,古有名而今无者,皆随事注例,作禹贡地域图十八篇”.可见裴秀在作图时实事求是地记载地名.另一方面当的地图十分粗略.他在禹贡地域图十八篇序言中说:“……今秘书既无古之地图,又无萧何所得,惟汉室舆地及括地杂图,各不设分率,又不考证准望,亦不备载名山大川,虽有粗形,皆不精审,不可依据;或荒外迂诞之言,不合事实,于义无取”.裴秀在总结前人制图经验基础上,创造性地提出了“制图六体”,即绘制地图应遵循的六项准则,为后人绘制地图捍供了一个完整的规范.他说:“制图之体有六焉:一日分率,所以辩广轮之度也;二日准望,所以正彼此之体也;三日道里,所以定所由之数也;四日高下,五日方斜,六日迂直,此三者各因地制宜,所以较夷险之异也.有图象而无分率,则无以审远近之差;有分率而无准望,虽得之于一隅,必失之于他方;有准望而无道里,则施于山海隔绝之地,不能以相通;有道里而无高下、方邪、迂直之校,则径路之数,必与远近之实相违,失准望之正矣.故以六者参而考之.然远近之实,定于分率;彼此之实,定于道里;度数之实,定于高下方邪迂直之算.故虽有峻山巨海之隔、绝域殊方之回、登降诡曲之因,皆可得举而定者.准望之法既正,则曲直远近,无所隐其形也.”这一段话详细地说明了制图六体的内容及其重要性.如果用现在地图学观点看,“分率”即比例尺,用以定距离的远近;“准望”即方位,用来定方向;“道理”即路程远近,用以确定各地实际的位置.此外还有高下(高取下)、方邪(方取斜)、曲直(迂取直),这三项和地面距离有关,要求绘制地图地物之间的距离必须按水平直线距离计算.如果能依据这六项准则,结合实际,因地制宜,地图就能画得准确.否则,缺乏这些要素画出的地图难免会出现距离错误,或方向错误等.除了经纬度不为当时所知外,现在的制图方法在原则上均与裴秀所说的一致.这六项制图原理在1700多年前由裴秀第一次完整全面地总结出来,是一件了不起的事情. 裴秀制图六体的提出离不开劳动人民的智慧,但他的制图理论和研究成果大大超过前人,在中国地图发展史上竖起了一块不可磨灭的丰碑. 专题地图 突出而深入地反映一种或数种要素或现象,即集中表现某种主题内容的地图.主要分为反映自然各要素或现象的自然地图,反映人类社会经济及其他领域事物或现象的社会经济地图(人文地图),以及反映人类与自然关系的环境地图.
为您推荐:
其他类似问题
找张地图看看就行了
扫描下载二维码}

我要回帖

更多关于 百度地图颜色代表什么 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信