【百度地图API】百度API卫星图使用方法和卫星图对比工具

原文:【百度地图API】百度API卫星图使用方法和卫星图对比工具

百度地图API推出卫星图接口也有一个月啦~  

本文除了介绍如何使用百度地图API来操作卫星图外,还顺带制作了个卫星图对比工具。

 

一、百度地图API卫星图

调用百度卫星图有两种方式,一是地图类型控件,一是地图底图设置。下面分别介绍这两种方法:

 

1、利用控件

使用控件有一大优势,就是地图类型控件上,有百度全部的地图类型,比如二维、三维、卫星等。

而且,只需要一句话,就能简单加上这个控件。

map.addControl(new BMap.MapTypeControl());          //添加地图类型控件

 

看到下图中,右上角那个控件了麽?这个就是地图类型控件啦~

添加她只需一句话,很简单吧。

 

全部源代码:

<!DOCTYPE html><html><head><meta http-equiv="Content-Type" content="text/html; charset=gb2312" /><title>地图类型控件</title><script type="text/javascript" src="http://api.map.baidu.com/api?v=1.2"></script></head><body><div style="width:520px;height:340px;border:1px solid gray" id="container"></div></body></html><script type="text/javascript">var map = new BMap.Map("container");            // 创建Map实例var point = new BMap.Point(116.4035,39.915);map.setCurrentCity("北京");          // 设置地图显示的城市 此项是必须设置的,因为要使用三维图map.centerAndZoom(point,15);                     // 初始化地图,设置中心点坐标和地图级别。

map.addControl(new BMap.MapTypeControl());          //添加地图类型控件</script>

 

 

 

更多关于地图类型控件的知识:(初学者可不看,上面的代码已经足够用啦~)


MapTypeControl是负责切换地图类型的控件,此类继承Control所有功能。


MapTypeControlOptions表示MapTypeControl构造函数的可选参数。它没有构造函数,但可通过对象字面量形式表示(自 1.2 新增)。

 

MapTypeControlType常量表示MapTypeControl的外观样式(自 1.2 新增)。

 

 

 

下面来看看第二种方法。如果你只需要卫星图,不需要别的地图类型,你就需要下面这种方法了。同样相当简单,也是一句话就搞定的事情~

2、修改地图底图默认设置

var map = new BMap.Map("container",{mapType: BMAP_HYBRID_MAP});      //设置卫星图为底图

 

 

二、卫星图对比工具

先来看图。下图中,左边是百度的卫星图,右边是谷歌的卫星图。

大家可以看到,无论是颜色,还是街道数据,都有明显的不同。

当然,如果你学会这些代码,你还可以将其他家API的卫星图拿来对比呀~~

 

对比工具主要是有以下功能:

1、同时展示百度和谷歌的卫星图

 // 百度卫星图底图var bdMap = new BMap.Map("mapBaidu",{mapType: BMAP_HYBRID_MAP});           

//谷歌卫星图底图var ggMap = new google.maps.Map(document.getElementById("mapGoogle"),{mapTypeId: google.maps.MapTypeId.SATELLITE});

2、拖动谷歌地图,百度地图跟着动(联动效果)

给谷歌地图添加拖拽事件,同理,也可以给百度地图添加。

在这里取了近似值,没有使用坐标转换工具。如果使用的话,应该会更加准确的。(搜索线性转换,或者直接看源代码)

google.maps.event.addListener(ggMap, 'dragend', function() {                blng = ggMap.center.lng() + 0.0065;        blat = ggMap.center.lat() + 0.0060;        bdMap.panTo(new BMap.Point(blng,blat));    });

3、放大缩小谷歌地图,百度地图也跟着放大和缩小

原理同上。谷歌的地图级别比百度小,所以要找一个地图级别的对应关系。大概是

google.maps.event.addListener(ggMap, 'zoom_changed', function() {                bdMap.setZoom(ggMap.zoom+1);    });

 

 

 

全部源代码:

<!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>Google Map VS Baidu Map</title><link href="http://code.google.com/apis/maps/documentation/javascript/examples/default.css" rel="stylesheet" type="text/css" /><script type="text/javascript" src="http://maps.googleapis.com/maps/api/js?sensor=false"></script><script type="text/javascript" src="http://api.map.baidu.com/api?v=1.2"></script><script type="text/javascript">function initialize() {var blng;var blat;var myOptions = {      zoom: 14,      center: new google.maps.LatLng(39.90564219683827,116.39948),      panControl: false,      zoomControl: false,      scaleControl: false,      mapTypeId: google.maps.MapTypeId.SATELLITE    }var ggMap = new google.maps.Map(document.getElementById("mapGoogle"),myOptions);

google.maps.event.addListener(ggMap, 'dragend', function() {                blng = ggMap.center.lng() + 0.0065;        blat = ggMap.center.lat() + 0.0060;        bdMap.panTo(new BMap.Point(blng,blat));    });    google.maps.event.addListener(ggMap, 'zoom_changed', function() {                bdMap.setZoom(ggMap.zoom+1);    });  }</script></head><body onload="initialize()" style="width:100%;height:100%;"><div id="mapBaidu" style="width:50%;height:100%;float:left;"><script type="text/javascript">var bdMap = new BMap.Map("mapBaidu",{mapType: BMAP_HYBRID_MAP});            // 创建Map实例       var point = new BMap.Point(116.4035,39.915);map.setCurrentCity("北京");          // 设置地图显示的城市 此项是必须设置的,因为要使用三维图

bdMap.centerAndZoom(point,15);                     // 初始化地图,设置中心点坐标和地图级别。            bdMap.addControl(new BMap.MapTypeControl());        //添加卫星图控件            bdMap.enableScrollWheelZoom();</script></div><div id="mapGoogle" style="width:50%;height:100%;float:left;"></div></body><script type="text/javascript">

</script></html>
时间: 2024-12-31 11:30:52

【百度地图API】百度API卫星图使用方法和卫星图对比工具的相关文章

利用百度地图提供的API,做到下面的目的;表示小白

问题描述 利用百度地图提供的API,做到下面的目的:表示小白 如图百度地图中,假如在我画的这个框的区域内我用鼠标点击一个位置,然后出现一个提示框,提示框内内容为我自定义的内容:能告诉我这个用百度API怎么做吗

百度地图api-百度API怎么用啊,GIS应用??

问题描述 百度API怎么用啊,GIS应用?? 现在需要做一个应用,采用百度的API,前提是从服务器那边得到了一些数据,关于经纬度的数据,想在web上定位汽车的位置,用VS2010编写,木有思路,求大神们赐教~~~~~ 解决方案 使用免费的百度地图,肯定会多少存在一些问题,而且对于一些特定的功能,也不能实现的.你可以去看看这个:http://www.forbst.com/MainOutLine.html

百度地图 全景图-百度地图里的全景图,怎么调整、下载不同视角的图片,是它们最后能接成一张完整的全景图

问题描述 百度地图里的全景图,怎么调整.下载不同视角的图片,是它们最后能接成一张完整的全景图 我知道怎么下载某个视角的图片,就是不知怎么能够使不同视角的图最后能刚好组成一张全景图 解决方案 知道了,可以设置fov=360 解决方案二: http://zhidao.baidu.com/link?url=dz95lu6bM487vmQ6sieFtBxIXHxRx-4WLndy35yOxjXaOktaX6qT6BH3dk8BdNDrDU4mQZB7Hw1EM_si40FlbcL1aUu9PEpmFGn

后台定位 百度地图-IOS 百度地图支持后台的持续定位吗?

问题描述 IOS 百度地图支持后台的持续定位吗? IOS 的百度地图支持后台的持续定位吗,如果支持请问这么实现了.新手上路,如有帮助必定万分感谢,忘知道的人可怜一下. 解决方案 貌似ios7以后就有选项支持后台程序刷新数据了 可以的.

安卓百度地图-android百度地图定位,最新的怎么弄

问题描述 android百度地图定位,最新的怎么弄 新手做一个项目,需要百度地图定位,现在在网上找的全都是以前的,运行都出错,有大神有现在能运行的demo吗,求android大神教教我. 解决方案 Android百度地图定位Android 百度地图 定位Android 百度地图定位

百度地图 覆盖物-百度地图添加大量marker

问题描述 百度地图添加大量marker 使用百度地图搜索银行之类的地图上显示2000+marker不卡, 查询数据库显示2000+marker,地图就特别卡,基本不能拖拽.缩放之类的操作了,查询数据也就1-2秒,但是往地图里加载时就特别慢,加载(大约30-40秒)完成后地图上是显示2000+marker了,但是地图基本上就卡死了,这其中有什么区别,求高手解答啊,不要说什么聚合抽希的,我们项目需求就这样要求的...求大神帮忙啊!有没有人啊- 解决方案 同样遇到上边的问题, 请问楼主解决了没有.可不

带有定位当前位置的百度地图前端web api实例代码_javascript技巧

废话不多说,直接给大家贴代码了,具体代码如下所示, 关键代码如下: <!DOCTYPE html> <html lang="zh-cn"> <head> <meta name="viewport" content="initial-scale=1.0, user-scalable=no" /> <meta http-equiv="Content-Type" content=

百度地图api如何使用_javascript技巧

如果想用百度地图api,首先需要先获取一个百度地图api的密钥,然后引入百度地图的api,接下来,我们详细介绍下获取.引入api密钥的技巧,以及通过代码给大家详解下百度地图api如何使用,具体请看下文. 首先 ,如果想调用百度地图api,你需要获取一个百度地图api的密钥. 申请密钥很简单,在百度地图api的首页就有相关链接,填写相关信息百度就会给你一个密钥了. 接下来,就是引入百度地图的api 关键代码如下: 复制代码 代码如下: <script type="text/javascrip

百度地图推出团购地图API 助力团购网站轻松导入地图服务

中介交易 SEO诊断 淘宝客 云主机 技术大厅 记者日前获悉,百度地图正式推出了团购地图API,作为一套生成团购网站地图展现的工具,团购地图插件包含了坐标点采集.团购页面地图展示等功能,这意味着今后万千团购网站将能轻松的导入地图服务,给广大网民带来更好的团购体验,增加团购网站的用户流量和黏性. 来自百度官方的说法是,百度团购地图API采用了iframe结构,使开发人员可以进行更简洁的代码管理,并及时更新团购地图功能;采用的JavaScript这一客户端脚本语言,有着更灵活的程序扩展性,同时带来更