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 ...
随机推荐
- js 技巧 (六)JavaScript[对象.属性]集锦
JavaScript[对象.属性]集锦 SCRIPT 标记 用于包含javascript代码. 语法 属性 LANGUAGE 定义脚本语言 SRC 定义一个URL用以指定以.JS结尾的文件 windo ...
- Kvm:启动报错:error: internal error: process exited while connecting to monitor: 2018-11-12T01:47:14.993371Z qemu-system-x86_64: cannot set up guest memory 'pc.ram': Cannot allocate memory
今天有台kvm挂了,物理机启动时报错 很明显看报错显示内存不足,无法分配内存,查看物理机内存使用正常,.xml修改虚机内存后启动依然报错 报错: 这时候需要看一下主机确保可以分配多少内存 sysctl ...
- 13Spring通过注解配置Bean(1)
配置Bean的形式:基于XML文件的方式:基于注解的方式(基于注解配置Bean:基于注解来装配Bean的属性) 下面介绍基于注解的方式来配置Bean. ——组件扫描(component scannin ...
- python3 监控代码变化 自动重启 提高开发效率
#!/usr/bin/env python3 # -*- coding: utf-8 -*- __author__ = 'Michael Liao' import os, sys, time, sub ...
- PHP:验证邮箱合法性
文章来源:http://www.cnblogs.com/hello-tl/p/7592304.html /** * [verifyPhone description] 效验邮箱号合法性 * @para ...
- Python面向对象之多态
多态 面向对象三大特性 封装 根据职责将属性和方法封装到一个抽象的类中:--定义类的准则 继承 实现代码的重用,相同的代码不需要重复的编写:--设计类的技巧:子类针对自己的需求,编写特定的代码: 多态 ...
- Spider-Scrapy css选择器提取数据
首先我们来说说css选择器:其实在上面的概述:和scrapy相关的函数就这么三个而已:response.css("css表达式").extract().extract_first( ...
- C语言学习2
C语言能够进行嵌套备注的方法: #if(0) do { scanf("%d", &n); getchar(); }]||n>a[M-]); #endif
- 【最大流】Escape
https://www.bnuoj.com/v3/contest_show.php?cid=9149#problem/F [题意] 给定n个人和m个星球,每个人可以匹配某些星球,每个星球有一定的容量限 ...
- bzoj4504 k个串 kstring 可持久化线段树 (标记永久化)
[fjwc2015]k个串 kstring [题目描述] 兔子们在玩k个串的游戏.首先,它们拿出了一个长度为n的数字序列,选出其中的一个连续子串,然后统计其子串中所有数字之和(注意这里重复出现的数字只 ...