Bing必应地图中国API-画线与添加多边形
Bing必应地图中国API-画线与添加多边形
2011-05-24 14:31:20| 分类: Bing&Google|字号订阅
在必应地图上画线的功能应用也很广泛:显示从出发地到目的地的行驶路径,或者显示某一辆车的历史行驶轨迹,等等。
上一讲中我们提到shape类可以是点、线或多边形。在初始化shape类的时候,可以通过输入参数VEShapeType.Polyline来实现一个折线示例。需要注意的是,可以通过指定多个经纬度来确定一条折线。例如:
var shape = new VEShape(VEShapeType.Polyline, [new VELatLong(39.9022,116.3321), new VELatLong(39.9833,116.3423),new VELatLong(39.9946,116.3571)]);
这条折线包含了两个线段。
此外,shape类提供了许多方法来设置shape的各种属性,例如:
shape.SetLineWidth(3); 设置折线的宽度
shape.SetLineColor(new VEColor(0,150,100,1.0)); 设置折线的颜色
接下来,我们定义一个画线函数来完整的实现这一功能:
function AddPolyline()
{
var ll = map.GetCenter();
var lat = ll.Latitude;
var lon = ll.Longitude;
var shape = new VEShape(VEShapeType.Polyline, [new VELatLong(lat-0.1,lon-0.1),
new VELatLong(lat+0.1,lon-0.1),
new VELatLong(lat+0.1,lon),
new VELatLong(lat-0.1,lon),
new VELatLong(lat-0.1,lon+0.1),
new VELatLong(lat+0.1,lon+0.1)]);
shape.SetTitle('我的折线');
shape.SetDescription('显示一段折线');
map.AddShape(shape);
}
这段代码应该很好理解了,首先取屏幕中心经纬度,然后参考这个经纬度分别取6个点,确定一条5折线。
作为必应地图的三项最基本应用之一,添加多边形的作用也非常广泛。例如,在物流、导航、监控领域,设置一个监控区域,或者观察目标状态的变化。如果我们学习了上两讲的内容,那么这一讲的内容应该内度并不大。
首先我们要初始化一个多边形:
var shape = new VEShape(VEShapeType.Polygon, [new VELatLong(lat,lon-0.15),
new VELatLong(lat+0.1,lon-0.05),
new VELatLong(lat+0.1,lon+0.05),
new VELatLong(lat,lon+0.15),
new VELatLong(lat-0.1,lon+0.05),
new VELatLong(lat-0.1,lon-0.05)]);
此处lat和lon为当前地图中心的纬度和经度。
可以看到,多边形的初始化参数为VEShapeType.Polygon,至少三个点确定一个多边形。
我们还可以通过shape类的各种方法来指定多边形的属性:线条粗细、颜色,填充颜色,多边形描述信息等等。这一讲我们增加一个新的内容,即多边形的描述可以支持html语法。
var infobox = "<div style='width:309px;'>You can add html codes into the info box or change the style of the info box. You can design and show any info box you want!<br>"
+"<a href='http://msdn2.microsoft.com/en-us/library/bb412553.aspx' target='_blank'>Click here to find out more.</a><br></div>"
+"<embed src='http://images.soapbox.msn.com/flash/soapbox1_1.swf' quality='high' width='309px' height='272px' wmode='transparent' type='application/x-shockwave-flash' pluginspage='http://macromedia.com/go/getflashplayer' flashvars='c=v&v=a4b53303-d58c-450e-a01d-069c9bcb5fe9' ></embed><br /><a href='http://soapbox.msn.com/video.aspx?vid=a4b53303-d58c-450e-a01d-069c9bcb5fe9' target='_blank' title='Virtual Earth - Bird's eye view and 3D'>Video: Virtual Earth - Bird's eye view and 3D</a>";
上面的代码看似很长,其实就是定义了一个包含html语法的字符串。然后通过调用shape.SetDescription(infobox)设置多边形的描述内容。
下面让我们看一下添加多边形函数的完整实现:
function AddPolygon()
{
var ll = map.GetCenter();
var lat = ll.Latitude;
var lon = ll.Longitude;
var shape = new VEShape(VEShapeType.Polygon, [new VELatLong(lat,lon-0.15),
new VELatLong(lat+0.1,lon-0.05),
new VELatLong(lat+0.1,lon+0.05),
new VELatLong(lat,lon+0.15),
new VELatLong(lat-0.1,lon+0.05),
new VELatLong(lat-0.1,lon-0.05)]);
shape.SetTitle("<h2>Custom Pin</h2>");
shape.SetDescription(infobox);
//Add the shape the the map
map.AddShape(shape);
}
并且在html body中增加一个控制链接:
<div><a href='#' οnclick='AddPolygon();'>增加多边形</a></div>
记住,别忘了在代码中定义infobox字符串。
转载于:https://www.cnblogs.com/meimao5211/p/3278539.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:27:31| 分类: Bing&Google|字号 订阅 微软必应地图中国地图API发布已经有10天了,考虑到网上现有的SD ...
- Bing必应地图中国API入门讲座之八:显示驾车路线
Bing必应地图中国API入门讲座之八:显示驾车路线 2011-05-24 14:47:36| 分类: Bing&Google|字号 订阅 这篇文章非常值得纪念,因为我是在Google大楼里 ...
- Bing必应地图中国API-显示兴趣点 (转)
Bing必应地图中国API-显示兴趣点 2011-05-24 14:29:55| 分类: Bing&Google|字号 订阅 在地图上显示一个兴趣点,这个应用可以说是最简单但是最广泛的.例如 ...
- Bing必应地图中国API-放大与平移
Bing必应地图中国API-放大与平移 2011-05-24 14:26:32| 分类: Bing&Google|字号 订阅 有些时候我们不希望通过默认的控制栏来控制地图,而是希望能够自定义 ...
- 百度地图-创建标注 画线
/** * 将字符串转为js日期类型 * @param {string} str 格式 2008-08-01 12:12:12 * @return Date */ function getDate(s ...
- 高德地图定位、画线 基础功能
1.先根据官网介绍下载相应的SDK包. **注意,从坐标拾取系统上拾取的坐标,在使用时需要把经纬度反过来填写!!! (拾取的是(10,20),设置时应该为(20,10))才能显示正确的位置** a:定 ...
- js百度地图小车html,Web js实现百度地图实时轨迹画线 小车车行驶轨迹 | 彬菌
版权声明:转载原创文章请以超链接形式请注明原文章出处,尊重作者,尊重原创! 恰饭广告 注意: 1.百度地图ak换成自己在百度地图官网申请 2.建议使用firefox浏览器,google被墙无法调用gp ...
- 高德地图根绝经纬度画线跑步软件
原文地址:http://my.oschina.net/qzzsunly/blog/401754?p=1 随机生成点 目前使用的是随机生成的点来绘制拆线. ? 1 2 3 4 5 6 7 8 9 10 ...
最新文章
- Intellij IDEA中开启Run Dashboard模式
- iOS组件化开发实践
- 0417 jsBom操作+Dom再次整理
- atlas mysql 数据库同步_Atlas实现数据库读写分离
- (4)打鸡儿教你Vue.js
- Java程序员的日常—— Arrays工具类的使用
- maven学习6 Eclipse下Tomcat常用设置
- 2021中超1 1010 zoto
- InfluxDB中文文档
- 试图用Session Administration删除某用户的session时报错
- [译]时间自动机:语义,算法和工具
- java将一个整数反转输出,输入一个整数,实现反转输出,如输入123,输出321。...
- sql azure 语法_Azure SQL Server自动故障转移组
- OpenGL控件变换
- 一些Arduino 测试代码
- 广东全国计算机2018年报名时间,2018年3月广东计算机等级考试报名时间
- android加密打包,(爱加密系列教程二十)Xamarin开发Android应用、如何打包apk(转载)...
- 夜深人静写算法(十四)- 基数估计 (Cardinality Estimation)
- 一、绘制不同类别特征均值标准差直方图
- 【View基础知识】TouchSlop、VelocityTracker、GestureDetector、Scroller
热门文章
- <论文阅读> 基于对称距离流和多扫描对齐的稳健平面里程计(IEEE 2018)
- 俄罗斯方块c 语言课程设计流程图,C语言课程设计俄罗斯方块源代码详细分解.doc...
- SpringCloud链路追踪SkyWalking-第四章-自定义链路追踪
- 511遇见易语言API模块视进入许可证(EnterCriticalSection)
- 用结构计算两个有理数的和。
- ionic creator(ionic生成器)
- 数字万用表四种妙用方法,你知道么?
- 树莓派4B安装nodejs,noble
- error while loading shared libraries: liblog4cpp.so.5: cannot open shared object file: No such file
- python爬取公众号阅读量_Python爬虫实践:如何快速、高效的爬取微信公众号阅读在看数...