Bing必应地图中国API-放大与平移
Bing必应地图中国API-放大与平移
2011-05-24 14:26:32| 分类: Bing&Google|字号 订阅
有些时候我们不希望通过默认的控制栏来控制地图,而是希望能够自定义放大、缩小按钮。比如在显示某公司的位置时,公司老总只希望别人能够以公司位置为中心放大、缩小地图。
所需要做的很简单,增加两个函数:放大和缩小。
function DoZoomIn(c)
{
map.ZoomIn();
}
function DoZoomOut()
{
map.ZoomOut();
}
然后在html boy中增加两个按钮:
<div>
<input type='button' value='放大' onclick='DoZoomIn();' />
<input type='button' value='缩小' onclick='DoZoomOut();'/>
</div>
或者,我们想直接指定地图放大的级别,我们可以另外写一个函数:
function DoZoom()
{
var zoom = document.getElementById('zoomLevel').value;
map.SetZoomLevel(zoom);
}
然后在html body中增加一个输入框让用户输入放大级别,以及一个按钮:
<div>
放大级别:<input id='zoomLevel' type='text' style='width:15px;' value='10' />
<input type='button' value='显示' onclick='DoZoom();' />
</div>
最小放大级别为1,即显示世界地图。最大放大级别为17。此处初始值设置为10,能够显示北京全貌。
最后,完整代码如下:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
<title></title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<script type="text/javascript" src="http://dev.ditu.live.com/mapcontrol/mapcontrol.ashx?v=6.1"></script>
<script type="text/javascript">
var map = null;
function GetMap()
{
map = new VEMap('myMap');
map.LoadMap();
}
function DoZoomIn(c)
{
map.ZoomIn();
}
function DoZoomOut()
{
map.ZoomOut();
}
function DoZoom()
{
var zoom = document.getElementById('zoomLevel').value;
map.SetZoomLevel(zoom);
}
</script>
</head>
<body onload="GetMap();">
<div id='myMap' style="position:relative; width:600px; height:480px;"></div>
<div>
<input type='button' value='放大' onclick='DoZoomIn();' />
<input type='button' value='缩小' onclick='DoZoomOut();'/>
</div>
<div>
放大级别:<input id='zoomLevel' type='text' style='width:15px;' value='10' />
<input type='button' value='显示' onclick='DoZoom();' />
</div>
</body>
</html>
本讲将展现三种平移方式:经纬度直接平移、手动平移,以及连续平移。
首先我们来看一下经纬度直接平移,我们定义一个平移函数:
function PanLatLong(c)
{
var lat = document.getElementById('txtMapLat').value;
var lon = document.getElementById('txtMapLon').value;
map.PanToLatLong(new VELatLong(lat, lon));
}
平移的经纬度从输入框获取,因此需要在html body中增加两个输入框,对应ID分别为txtMapLat和txtMapLon:
<div>
维度:<input id='txtMapLat' style='width: 30px' type='text' value='36' />
经度:<input id='txtMapLon' style='width: 30px' type='text' value='105' />
<input type='button' value='经纬度平移' onclick='PanLatLong();' />
</div>
第二个功能是手动平移,由用户输入以当前地图为中心平移量的大小。同样,我们需要定义一个函数:
function PanXY()
{
var x = document.getElementById('txtMapX').value;
var y = document.getElementById('txtMapY').value;
map.Pan(x,y);
}
我们在html body域增加两个输入框,允许用户输入平移量,ID分别为txtMapX和txtMapY:
<div>
X:<input id='txtMapX' style='width: 30px' type='text' value='1' />
Y:<input id='txtMapY' style='width: 30px' type='text' value='1' />
<input type='button' value='手动平移' onclick='PanXY();' />
</div>
接下来我们看一下连续平移的实现方法。连续平移在很多地方可以应用,比如在线旅游,显示用户旅游线路的时候可以通过连续平移的方法直观显示用户的足迹。此处我们需要定义两个函数:开始平移和结束平移:
function StartContinuous()
{
var x = document.getElementById('txtMapXspeed').value;
var y = document.getElementById('txtMapYspeed').value;
map.StartContinuousPan(x,y);
}
function EndContinuous()
{
map.EndContinuousPan();
}
然后,我们在html body域增加两个按钮,分别对应开始平移和结束平移。并提供一个输入框,允许用户输入连续平移的速度:
<div>
X (speed):<input id='txtMapXspeed' style='width: 30px' type='text' value='1' />
Y (speed):<input id='txtMapYspeed' style='width: 30px' type='text' value='1' />
<input type='button' value='开始连续平移' onclick='StartContinuous();' />
<input type='button' value='结束连续平移' onclick='EndContinuous();' />
</div>
引用:http://www.htchen.com/post/4.html
Bing必应地图中国API-放大与平移的更多相关文章
- Bing必应地图中国API - 在地图上画圆
Bing必应地图中国API - 在地图上画圆 2011-05-24 14:49:37| 分类: Bing&Google|字号 订阅 <变形金刚2>上映4日国内票房过亿,基 ...
- Bing必应地图中国API入门讲座之八:显示驾车路线
Bing必应地图中国API入门讲座之八:显示驾车路线 2011-05-24 14:47:36| 分类: Bing&Google|字号 订阅 这篇文章非常值得纪念,因为我是在Googl ...
- Bing必应地图中国API - 添加实时交通信息
Bing必应地图中国API - 添加实时交通信息 2011-05-24 14:44:58| 分类: Bing&Google|字号 订阅 2009年4月23日,微软必应地图中国API新 ...
- Bing必应地图中国API一显示地图 (转) 做人要厚道
Bing必应地图中国API一显示地图 2011-05-24 14:27:31| 分类: Bing&Google|字号 订阅 微软必应地图中国地图API发布已经有10天了,考虑到网上现 ...
- Bing必应地图中国API-画线与添加多边形
Bing必应地图中国API-画线与添加多边形 2011-05-24 14:31:20| 分类: Bing&Google|字号 订阅 在必应地图上画线的功能应用也很广泛:显示从出发地到 ...
- Bing必应地图中国API-显示兴趣点 (转)
Bing必应地图中国API-显示兴趣点 2011-05-24 14:29:55| 分类: Bing&Google|字号 订阅 在地图上显示一个兴趣点,这个应用可以说是最简单但是最广泛 ...
- 必应地图api文档,微软必应地图web开发版详解,可以在国内使用国外地图
最近,公司项目要求在页面中嵌入地图,需求还算简单,但是由于必须具备响应式(主要是pc和移动端),而且由于公司业务是全球性的,要支持国外地点搜索.考虑到百度,腾讯,高德等等国内地图无法显示国外数据,谷歌 ...
- 必应(Bing)每日图片获取API
必应(Bing)每日图片获取API January 11, 2015 API http://lab.dobyi.com/api/bing.php 介绍 Value Description title ...
- 必应语音API(Bing text to speech API)
前言 Link : Microsoft Speech API overview 通过这个链接,大致了解Bing speech API的语音识别和语音合成两部分, 这次是需要用到TTS,所以就直接看TT ...
随机推荐
- CentO7-使用plantuml绘制UML类图
准备工作 到PlantUml官网(http://plantuml.com/download)下载plantuml.jar.官网上还有一个在线的demof服务.plantuml的官网真的很挫! 到官网下 ...
- 微信sdk 签名
<?php namespace app\wechat\service; use think\Config; class Signature { protected $appId ; protec ...
- 建仓类型与对应建仓价MT4
建仓类型与对应建仓价 (Bid,Ask) 建仓类型 对应建仓价 Buy Ask+Spread Sell Bid-Spread BuyLimit Ask-Spread-StopLevel SellLim ...
- allegro学习--区域约束
前言: 在有些情况需要我们在走线时在某些区域的时候,线是细的,例如BGA封装的FPGA在引出线的时候,我们希望在FPGA内部的线细,出了FPGA后,线变粗.如图: 这就用到了区域的规则约束. 实现: ...
- 关于Windows 10 初始安装的VS2013 SSDT-BI 的BUG 问题
初始安装,正常安装会出现以下出现信息,随后会被告知未安装成功. 关于SSDT-BI信息可以参见这里 http://jimshu.blog.51cto.com/3171847/1420469 从Wind ...
- js高级程序设计第八章BOM(未完成,待续)
8.1window对象 BOM的核心对象是window,表示浏览器的一个实例. window对象有双重角色,既可以通过就是访问浏览器窗口的接口,又是ECMAscript规定的Global对象 8. ...
- 关于No Spring WebApplicationInitializer types detected on classpath的提示,tomcat 卡主
No Spring WebApplicationInitializer types detected on classpath 下一句:Initializing Spring root WebAppl ...
- python 爬虫示例,方便日后参考
参考网址:https://zhuanlan.zhihu.com/p/32037625 def getOneMoviesInfo(Mid,url): import requests from lxml ...
- <<编程之美>> -- 队列中取最大值操作的问题
不得不说编程之美是一本好书,虽然很多题目在做acm中的过程中遇到过,不过还是有很多值得思考的地方 这是今天在编程之美上看到的一个问题,对于栈转化成队列的一个思考 平时都太过依赖c++内函数库中的栈和队 ...
- idea使用之maven本地索引更新
idea使用起来的确挺顺手的,但遇到一些问题时,直接百度很难有答案,只能自己慢慢摸索了. 今天在倒腾idea仓库索引的时候,就出事情啦. 先说idea更新本地仓库索引吧,打开settings--> ...