控件[最新]2013年最新百度map开辟指南

百度map  时间:2021-02-25  阅读:()

简介

什么是百度地图API

百度地图API是一套由JavaScript语言编写的应用程序接口它能够帮助您在网站中构建功能丰富、交互性强的地图应用。百度地图API包含了构建地图基本功能的各种接口提供了诸如本地搜索、路线规划等数据服务。

面向的读者

API是提供给那些具有一定JavaScript编程经验和了解面向对象概念的读者使用。此外读者还应该对地图产品有一定的了解。

您在使用中遇到任何问题都可以通过API贴吧或交流群反馈给我们。

获取API

地图API是由JavaScript语言编写的您在使用之前需要通过<script>标签将API引用到页面中<script src="http://api.map.baidu.com/api?v=1 .2"type="text/javascript"></script>

其中参数v为API当前的版本号 目前最新版本为1 2。在1 2版本之前您还可以设置services参数 以告知API是否加载服务部分 true表示加载 false表示不加载默认为true。

开发移动平台上的地图应用

API自1 1版本起开始支持iPhone、Android这样的移动平台。用户通过手机浏览器就可以访问由地图API创建出来的应用。移动平台的屏幕尺寸通常比PC或笔记本要小操作方式也有所不同。为了更好的在手机浏览器上展示地图我们有如下建议

 将地图容器高设置为100%使其充满整个屏幕或者您也可以计算浏览器窗口的大小并进行设置。

 添加下面的meta标签 <meta name="viewport"content="initial-scale=1 0,user-scalable=no"/>

这样做是为了让页面以正常比例进行显示并且禁止用户缩放页面的操作。

您可以参考Apple's Developer documentation和Android documentation获得更多信息。

异步加载

API 1 1和1 2版本支持异步加载您可以在引用脚本的时候添加cal lback参数当脚本加载完成后cal lback函数会被立刻调用。请参考下面的使用示例

<!DOCTYPE html>

<html>

<head>

<meta charset="utf-8"/>

<title>异步加载</title>

<script type="text/javascript">function initialize( ) {var mp = new BMap.Map( 'map' ) ;mp.centerAndZoom(new BMap.Point(121. 491, 31.233) , 11) ;

}function loadScript( ) {var script = document.createElement("script") ;script.src = "http: //api.map.baidu.com/api?v=1.2&callback=initialize";document.body.appendChild(script) ;

}window.onload = loadScript;

</script>

</head>

<body>

<div id="map" style="width:500px;height:320px"></div>

</body>

</html>

兼容性

浏览器 IE 60+、 Firefox36+、 Opera 90+、 Safari 30+、 Chrome

操作系统Windows、 Mac、 Linux

移动平台 iPhone、Android

版本说明

地址http://api map baidu com/api?v=1 2中的参数v表示您加载API的版本例如当前API的最新版本为1 2则您可在地址中添加v=1 2。当API升级后如果已有接口在使用、命名等方面发生了变化我们会为其增加一个新的版本号这不会对您现有的应用造成任何影响。如果升级只是修复一些bug或者在不影响现有功能的前提下增加接口、改善性能则版本号不会发生变化。您可以在更新日志页面查看版本的变化。

问题解答

如果您在使用百度地图API中遇到问题请尝试通过以下途径解决

 确认您使用了正确的地图API地址。

 访问百度地图API吧查找相关问题的帖子或者将您的问题发布到贴吧中。

基础知识

百度地图的“He l lo,World”

开始学习百度地图API最简单的方式是看一个简单的示例。 以下代码创建了一个地图并以天安门作为地图的中心

<!DOCTYPE html>

<html>

<head>

<meta name="viewport" content="initial-scale=1. 0, user-scalable=no" /><meta http-equiv="Content-Type" content="text/html; charset=utf-8" /><title>Hello, World</title>

<style type="text/css">html{height: 100%}body{height: 100%;margin:0px;padding: 0px}

#container{height:100%}

</style>

<script type="text/javascript"src="http://api.map.baidu.com/api?v=1.2"></script>

</head>

<body>

<div id="container"></div>

<script type="text/javascript">var map = new BMap.Map("container") ; //创建地图实例var point = new BMap.Point(116. 404, 39.915) ; //创建点坐标map.centerAndZoom(point, 15) ; //初始化地图设置中心点坐标和地图级别

</script>

</body>

</html>

下面我们分步向您介绍

准备页面

根据HTML标准每一份HTML文档都应该声明正确的文档类型我们建议您使用最新的符合HTML5规范的文档声明

您也可以根据需要选择其他类型的文档声明这样浏览器会以标准的方式对页面进行渲染保证页面最大的兼容性。我们不建议您使用quirks模式进行开发。

下面我们添加一个m eta标签 以便使您的页面更好的在移动平台上展示。

<meta name="viewport" content="initial-scale=1. 0, user-scalable=no" />接着我们设置样式使地图充满整个浏览器窗口

<style type="text/css">html{height: 100%}body{height: 100%;margin:0px;padding: 0px}

#container{height:100%}

</style>

引用百度地图API文件

<script type="text/javascript"src="http://api.map.baidu.com/api?v=1.2"></script>

创建地图容器元素

地图需要一个HTML元素作为容器这样才能展现到页面上。这里我们创建了一个div元素。

命名空间

API使用BMap作为命名空间所有类均在该命名空间之下 比如 BMap Map、 BMap Control 、BMap Overlay。

创建地图实例var map = new BMap.Map("container") ;

位于B Ma p命名空间下的Ma p类表示地图通过n ew操作符可以创建一个地图实例。其参数可以是元素id也可以是元素对象。

注意在调用此构造函数时应确保容器元素已经添加到地图上。

创建点坐标var point = new BMap.Point(116. 404, 39.915) ;

这里我们使用BMap命名空间下的Point类来创建一个坐标点。 Point类描述了一个地理坐标点其中116404表示经度 39915表示纬度。

地图初始化

在创建地图实例后我们需要对其进行初始化 BMap Map centerAndZoom()方法要求设置中心点坐标和地图级别。地图必须经过初始化才可以执行其他操作。

地图配置与操作

地图被实例化并完成初始化以后就可以与其进行交互了。 API中的地图对象的外观与行为与百度地图网站上交互的地图非常相似。它支持鼠标拖拽、滚轮缩放、双击放大等交互功能。您也可以修改配置来改变

这些功能。 比如默认情况下地图不支持鼠标滚轮缩放操作 因为这样可能会影响整个页面的用户体验但是如果您希望在地图中使用鼠标滚轮控制缩放则可以调用map enableScrol lWheelZoom方法来开启。配置选项可以在Ma p类参考的配置方法一节中找到。

此外您还可以通过编程的方式与地图交互。Map类提供了若干修改地图状态的方法。例如 s etCenter()、panTo()、 zoomTo()等等。

下面示例显示一个地图等待两秒钟后它会移动到新中心点。 panTo()方法将让地图平滑移动至新中心点如果移动距离超过了当前地图区域大小则地图会直跳到该点。var map = new BMap.Map("container") ;var point = new BMap.Point(116. 404, 39.915) ;map.centerAndZoom(point, 15) ;window.setTimeout(function( ) {map.panTo(new BMap.Point(116.409, 39.918) ) ;

} , 2000) ;

控件

地图控件概述

百度地图上负责与地图交互的U I元素称为控件。百度地图API中提供了丰富的控件您还可以通过Control类来实现自定义控件。

地图API中提供的控件有

Co ntro l 控件的抽象基类所有控件均继承此类的方法、属性。通过此类您可实现自定义控件。NavigationControl 地图平移缩放控件默认位于地图左上方它包含控制地图的平移和缩放的功能。OverviewMapControl 缩略地图控件默认位于地图右下方是一个可折叠的缩略地图。

Sca l eCo ntro l  比例尺控件默认位于地图左下方显示地图的比例关系。

Ma pTyp e C o n tro l 地图类型控件默认位于地图右上方。

CopyrightControl 版权控件默认位于地图左下方。

向地图添加控件

可以使用Map addControl()方法向地图添加控件。在此之前地图需要进行初始化。例如要将标准地图控件添加到地图中可在代码中添加如下内容

可以向地图添加多个控件。在本例中我们向地图添加一个平移缩放控件、一个比例尺控件和一个缩略图控件。在地图中添加控件后它们即刻生效。

控制控件位置

初始化控件时可提供一个可选参数其中的anchor和offset属性共同控制控件在地图上的位置。

控件停靠位置anchor表示控件的停靠位置即控件停靠在地图的哪个角。当地图尺寸发生变化时控件会根据停靠位置的不同来调整自己的位置。 anchor允许的值为

BMAP_ANCHOR_TOP_LEFT表示控件定位于地图的左上角。

BMAP_ANCHOR_TOP_RIGHT表示控件定位于地图的右上角。

BMAP_ANCHOR_BOTTOM_LEFT表示控件定位于地图的左下角。

BMAP_ANCHOR_BOTTOM_RIGHT表示控件定位于地图的右下角。

控件位置偏移

除了指定停靠位置外还可以通过偏移量来指示控件距离地图边界有多少像素。如果两个控件的停靠位置相同那么控件可能会重叠在一起这时就可以通过偏移值使二者分开显示。

本示例将比例尺放置在地图的左下角 由于API默认会有版权信息 因此需要添加一些偏移值以防止控件重叠。

修改控件配置

地图API的控件提供了丰富的配置参数您可参考API文档来修改它们以便得到符合要求的控件外观。例如 NavigationControl控件就提供了如下类型

BMAP_NAVIGATION_CONTROL_LARGE表示显示完整的平移缩放控件。

BMAP_NAVIGATION_CONTROL_SMALL表示显示小型的平移缩放控件。

BMAP_NAVIGATION_CONTROL_PAN表示只显示控件的平移部分功能。

BMAP_NAVIGATION_CONTROL_ZOOM表示只显示控件的缩放部分功能。

下图从左向右依次展示了上述不同类型的控件外观

下面的示例将调整平移缩放地图控件的外观。

自定义控件

百度地图AP I允许您通过继承Co ntro l来创建自定义地图控件。

要创建可用的自定义控件您需要做以下工作

定义一个自定义控件的构造函数。

设置自定义控件构造函数的p rototyp e属性为C o n tro l的实例以便继承控件基类。

实现initial ize()方法并提供defaultAnchor和defaultOffset属性。

定义构造函数并继承Control

首先您需要定义自定义控件的构造函数并在构造函数中提供defaultAnchor和defaultOffset两个属性以便AP I正确定位控件位置接着让其继承于Co ntro l 。在下面的示例中我们定义一个名为Zoom Contro l的控件每一次点击将地图放大两个级别。它具有文本标识而不是平移缩放控件中使用的图形图标。

火数云 55元/月BGP限时三折,独立服务器及站群限时8折,新乡、安徽、香港、美国

火数云怎么样?火数云主要提供数据中心基础服务、互联网业务解决方案,及专属服务器租用、云服务器、专属服务器托管、带宽租用等产品和服务。火数云提供洛阳、新乡、安徽、香港、美国等地骨干级机房优质资源,包括BGP国际多线网络,CN2点对点直连带宽以及国际顶尖品牌硬件。专注为个人开发者用户,中小型,大型企业用户提供一站式核心网络云端服务部署,促使用户云端部署化简为零,轻松快捷运用云计算!多年云计算领域服务经...

GigsGigsCloud:$16/月KVM-1GB/30GB/1TB/1.6T高防/洛杉矶CN2 GIA+AS9929

GigsGigsCloud是一家成立于2015年老牌国外主机商,提供VPS主机和独立服务器租用,数据中心包括美国洛杉矶、中国香港、新加坡、马来西亚和日本等。商家VPS主机基于KVM架构,绝大部分系列产品中国访问速度不错,比如洛杉矶机房有CN2 GIA、AS9929及高防线路等。目前Los Angeles - SimpleCloud with Premium China DDOS Protectio...

月神科技 国内上新成都高防 全场八折促销续费同价!

月神科技是由江西月神科技有限公司运营的一家自营云产品的IDC服务商,提供香港安畅、香港沙田、美国CERA、成都电信等机房资源,月神科技有自己的用户群和拥有创宇认证,并且也有电商企业将业务架设在月神科技的平台上。本次带来的是全场八折促销,续费同价。并且上新了国内成都高防服务器,单机100G集群1.2T真实防御,上层屏蔽UDP,可定制CC策略。非常适合网站用户。官方网站:https://www.ysi...

百度map为你推荐
网页解密如何查看网页中的密码weipin唯品会的唯品币是干什么用的?工信部备案去国家工信部备案需要什么手续呢迅雷云点播账号求个迅雷VIP 是VIP就可以 只用来看云点播 改密码是孙子。 谢了 ! 362135668@qq.comqq空间打扮QQ空间怎么打扮如何打扮商标注册查询官网商标注册网的官网是哪个?安全漏洞什么是安全漏洞攻击??系统分析员系统分析员的工作内容网站优化方案网站优化方案如何写?blogcnblogcn的博客可以搬家到哪些网站?
太原域名注册 互联网域名管理办法 cybermonday Vultr la域名 wordpress技巧 表单样式 godaddy域名优惠码 地址大全 发包服务器 铁通流量查询 100m免费空间 京东商城0元抢购 dux nerds hkt 网游服务器 dnspod 华为k3 金主 更多