【百度地图API】今日小年大进步,齐头共进贺佳节——API优化升级上线,不再增加内存消耗

原文:【百度地图API】今日小年大进步,齐头共进贺佳节——API优化升级上线,不再增加内存消耗

任务描述:

  今天是2011年01月26日,小年夜。百度地图API在小年夜献给广大API爱好者一份给力的礼物!那就是,百度地图API内存消耗优化升级了!

  此次API优化升级后,内存消耗保持平稳,绝大部分测试中,内存消耗趋于一条直线。(如图所示)

如何实现:

  a)        
本次测试全部采用IE6浏览器;

b)        
本次测试的覆盖物全部采取随机方式创建;

c)        
本次测试覆盖物种类分别为:信息窗口、标注、圆形、多边形、折线、标签;

d)        
依次连续不间断做以上测试,不穿插其他测试;

e)        
测试时间均为每1毫秒执行一次创建;

f)         
测试期间,不新建其他进程。

图示:

  

说明:

  优化前,内存消耗以50,000为起点,不断上升,造成运行速度慢等问题;

  优化后,内存消耗一直保持在50,000左右,趋于平稳的直线。

运行代码,请点击以下链接:

  marker测试用例:http://ui-love.com/baidumap/markercase.htm

  label测试用例:http://ui-love.com/baidumap/labelcase.htm

  信息窗口w测试用例:http://ui-love.com/baidumap/infowincase.htm

  圆形测试用例:http://ui-love.com/baidumap/circlecase.htm

  折线测试用例:http://ui-love.com/baidumap/polylinecase.htm

  多边形测试用例:http://ui-love.com/baidumap/polygoncase.htm

源代码:  
(注:由于测试用例过多,这里不一一列举,仅给出标注Marker的测试用例代码。 )

<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<meta name="viewport" content="initial-scale=1.0, user-scalable=no" />
<title>Marker 性能</title>
<style type="text/css">/*<![CDATA[*/
body{margin:0;padding:0;font-family:Times New Roman, serif}
p{margin:0;padding:0}
#wrapper{width:100%;margin:auto;text-align:left;height:100%}
#map_container{height:480px;margin:0}
#notes{position:absolute;right:10px;width:200px;top:10px}

@media print{
input{display:none}
#notes{display:none}
#map_container{margin:10px;border:none}
}
/*]]>*/</style>
<script type="text/javascript" src="http://api.map.baidu.com/api?key=25f144bb4491f54b83a7a7b39198c11e&v=1.1&services=true">

</script>
</head>

<body>
<div id="map_container"></div>
<div id="test_container">
<input type="button" onclick="test_mem()" value="mem_test" />
<input type="button" onclick="stop_mem()" value="stop_test" />
</div>
</div>

</body>
<script type="text/javascript">
if (typeof console == "undefined"){
window.console = {
log: function(){
}
}
}
</script>
<script type="text/javascript">
// 创建地图对象并初始化
var mp = new BMap.Map("map_container");
var point = new BMap.Point(116.404, 39.915);
mp.centerAndZoom(point, 14);

// 内存性能测试
var count = 0;

function createInfo() {
mp.clearOverlays();
if (count > 3000) {
clearInterval(window._timer);
alert("测试结束");
}
createMarkers();
}
function createMarkers(){
var bounds = mp.getBounds();
var lngSpan = bounds.maxX - bounds.minX;
var latSpan = bounds.maxY - bounds.minY;
for (var i = 0; i < 9; i ++) {
count ++;
var point = new BMap.Point(bounds.minX + lngSpan * (Math.random() * 0.7 + 0.15),
bounds.minY + latSpan * (Math.random() * 0.7 + 0.15));
var marker = new BMap.Marker(point);
mp.addOverlay(marker);
}
}
function test_mem() {
window._timer = setInterval(createInfo, 1);
}
function stop_mem() {
clearInterval(window._timer);
alert("运行了"+count+"次");
}
</script>
</html>

时间: 2024-10-02 21:12:47

【百度地图API】今日小年大进步,齐头共进贺佳节——API优化升级上线,不再增加内存消耗的相关文章

深入浅出百度地图API开发系列(1):前言

百度地图API目前在地图API领域越来越受到众多开发者的关注,许多应用都使用到了百度地图API服务,包括博主me,我自己使用做的是Javascript API,根据经验,我想整理出一份系列教程,如果能给想使用百度地图API的开发者带来一点帮助的话,那就太好了,也希望大家能够互相交流,共同学习. 写在前面的话:如果各位真的想深入了解地图的JSAPI,首先一些基础的GIS概念必不可少,GIS就是地理信息系统,可能很多程序猿没听过,简单地说,GIS就是通过计算机软件技术将地理信息进行可视化管理,地图就

【百度地图API】圣诞节里不会迷路的麋鹿——驾车导航

原文:[百度地图API]圣诞节里不会迷路的麋鹿--驾车导航 任务描述: 可能大家还不知道,圣诞老人是爱迷路的老爷爷! 今年圣诞节又要到了,圣诞老人又要出来送礼物了.可是,他灰常的迷路呢! 还好,他有一只不会迷路的麋鹿…… 如何实现: 建立两个input文本框,分别获得圣诞老人输入的起点和终点. 当圣诞老人点击OK按钮后,先判断起点和终点文本框内是否为空,为空则需要提示圣诞老人重新输入. 不为空的情况下,进行查询驾车路线的工作. 如果没有查询到相应的起点和终点,则需要提示圣诞老人重新输入哦! TI

JavaScript----marquee滚动标签 图片无缝滚动 插入百度地图

页面的自动滚动效果,可由javascript来实现, 但是有一个html标签 - <marquee></marquee>可以实现多种滚动效果,无需js控制. 使用marquee标记不仅可以移动文字,也可以移动图片,表格等. 语法:<marquee>...</marquee>: 说明:在标记之间添加要进行滚动的内容. 重要属性: 1.滚动方向direction(包括4个值:up. down. left和 right) 语法:<marquee direct

Android 百度地图 SDK v3.0.0 (一)

转载请标明出处:http://blog.csdn.net/lmj623565791/article/details/37729091 最近公司要把百度地图集成的项目中,于是我就研究了一天百度地图的SDK,当前的版本:Android SDK v3.0.0 . 虽然百度地图网上相关代码比较多,大多可能都是比较旧的版本,且百度地图API的改动感觉也比较大,所以再此跟大家分享一下一天的劳动成功. 下面简单展示下,博客中会介绍的功能: 1.功能介绍 a.首先肯定是导入地图,然后就是地图模式的一些切换,普通

百度地图的O2O思考:从工具化到服务化

前言:在O2O时代,每个地图都在画自己的O2O生态圈.在这个生态圈里,代理服务商.系统架构供应商.服务提供商.金融支付供应商与消费者有机地结合在一起. 百度世界大会上,李彦宏带着新产品“度秘”又秀了一把技术帝是如何做服务的,同时,百度不出意外地将各产品布局落子O2O服务.其中,作为O2O服务入口的百度地图打出了突破基础功能,向生活服务平台转型的迭代核心. 作为出行工具,地图时刻都在为人们提供出行的便利.传统的移动端数字地图服务,基本是围绕LBS功能开发上线的.作为地图这样的产品,在移动互联网 时

Android应用之——百度地图最新SDK3.0应用,实现最常用的标注覆盖物以及弹出窗覆盖物

一.概述 最新版的百度地图SDK3.0,修改了很多方法,之前的很多方法被简化了,正好在做地图这一块,顺便就使用了最新版的sdk. 下载官方给的demo,发现变化还是挺大的,之前的一些方法都换了,地图的初始化也进行了调整.多了好几个类,具体用法参考下面的例子,详细的说明可参照官方的说明文档. 二.效果图 标注覆盖物效果图: 弹出窗覆盖物: 三.实现过程 大部分是根据官方给的demo来的. A.配置文件: 第一步:在工程里新建libs文件夹,将开发包里的baidumapapi_vX_X_X.jar拷

百度地图-----&amp;gt;地图类型、定位模式、实时交通、我的位置、加入覆盖物、覆盖物详情及提示

在百度地图开发平台 http://developer.baidu.com/map/index.php? title=androidsdk 进行创建应用,获取应用的AK,在进行下载BaiduLBS_Android.jar和armeabi--然后放于libs文件夹下.另外获取安全码 Android SDK安全码组成:数字签名+;+包名.(查看具体配置方法),创建应用,提交后,自己主动下发Ak(配置文件里用到) 以下是官方的提示: 第一步:在project里新建libs文件夹.将开发包里的baidum

从POI到O2O 看百度地图如何走出未来之路

近期O2O的烧钱融资大战如火如荼,有人已经把O2O大战,用乌合之众的群体心理失控来形容.其实厂商都不傻,O2O烧钱大家都知道,但是大家还知道O2O背后这块大蛋糕价值"万亿级". 有意思的是,在中国O2O如火如荼的当口,移动地图一直被当做是O2O的重要入口之一,一谈及O2O服务,必逃不出移动地图的触及范围.2014年高德宣布自己三年内不再做O2O,退出市场,腾讯地图虽然觊觎O2O多时,却始终形不成规模:但在百度近期转型O2O业务的过程中,地图却作为O2O的关键支撑,让这一入口对于O2O的

最全面的百度地图JavaScript离线版开发

项目要求web版百度地图要离线开发.这里总结下自己的开发过程和经验. 大概需求是:每辆车上安装有公司接收机,会实时反馈车辆的坐标.速度.转向等信息,接收到各车辆信息后在百度地图上实时画出车辆位置.作业点不一定都有网络,所以要求离线开发. 此过程主要有三个技术点: 1. 如何获取离线的API 2. 如何获取离线瓦片图 3. 如何在离线状态下将WGS坐标转换成百度地图坐标 解决问题过程: 1. 既然百度地图官方不支持离线地图,那么我们需要想办法把在线的代码改成离线的代码. 这里可以参考:http:/