模仿百度三维地图的js数据分享


Posted in Javascript onMay 12, 2011

百度三维地图的js数据格式:mapData["sign"] ["5,158,141"]={"busStation":{"4,317,282": [{"id":"ff8080811c462eb7011d2e23d5b91083","name":"地安门站","y":579152,"x":650606}, {"id":"ff8080811c462eb7011d2e2414f31085","name":"地安门站","y":579176,"x":650750}],"4,316,283": [{"id":"ff8080811c462eb7011d2cc3d5630ef3","name":"白士站","y":580232,"x":648834}]}}

我们进行模仿,首先了解下作为关联数组的对象的概念:
var o = new Object();
o.x="Hello!";
上面我们定义了一个对象,对象的一个属性是x,这样的形式是我们常见的。JavaScript中的对象可以作为关联数组使用,因为它们能够将任意的数据值和任意的字符串关联起来。如果采用这种方式使用对象,那么要访问的对象就要采用不同的语法,即使用一个由方括号封闭起来的、包含所需属性名的字符串,使用这种语法我们可以将上面的o对象的x属性进行如下赋值:
var o = new Object();
o["x"]="Hello!"
这种方式在某些情况下是必要的,例如在你不知道属性名的情况下,就不能使用"."来存取对象的属性,但是可以使用运算符[]来命名属性,因为它的属性名是一个字符串值(该值是动态的,在运行时可以改变),而不是一个标识符(它是静态的,在程序中必须进行硬编码)。如果使用一个对象时采用的是这种方式,我们称它为关联数组。(详细参见《JavaScript权威指南(第四版)》(155页))
通过上面的描述,我们可以这样来定义一个对象:

(1)<script type="text/javascript">
var o = new Object();
var x =MapData[2];
var y = MapData[3];
o[x] = new Object();
o[x][y] = {"id":MapData[0],"icolor":MapData[1],"x":MapData[2],"y":MapData[3],"coordinate":MapData[4],"type":MapData[5],"attribute":MapData[6]};
//o[x][y]={"busStation":{"4,315,283": [{"id":"ff8080811c462eb7011d238c49a00b35","name":"西板桥公交站","y":580326,"x":646206}, //{"id":"ff8080811c462eb7011d238dc5980b38","name":"西板桥公交站","y":580686,"x":645310}, //{"id":"ff8080811c462eb7011d2391ac470b3f","name":"故宫公交车站","y":581454,"x":645606}, //{"id":"ff8080811c462eb7011d2392aea60b44","name":"故宫公交站","y":581470,"x":645690}]}};
alert(o[x][y]["id"]);
</script>
(2)我们还可以将对象的形式写成如下所示:

<script type="text/javascript">
var d ={"x":{"y":{'id':MapData[0],'icolor':MapData[1],"x":MapData[2],"y":MapData[3],"coordinate":MapData[4],"type":MapData[5],"attribute":MapData[6]}},"x1":{"y1":{"id":MapData[8],"icolor":MapData[1],"x":MapData[2],"y":MapData[3],"coordinate":MapData[4],"type":MapData[5],"attribute":MapData[6]}}}
alert(d["x"]["y"]["icolor"]);
</script>

至此,我们的js数据就和百度上相同了。

Javascript 相关文章推荐
phpwind放自动注册方法
Dec 02 Javascript
JavaScript 在各个浏览器中执行的耐性
Apr 06 Javascript
Jquery实现图片放大镜效果的思路及代码(自写)
Oct 18 Javascript
javascript在当前窗口关闭前检测窗口是否关闭
Sep 29 Javascript
jQuery中parents()方法用法实例
Jan 07 Javascript
JavaScript操作Cookie详解
Feb 28 Javascript
原生js实现旋转木马轮播图效果
Feb 27 Javascript
JS简单生成随机数(随机密码)的方法
May 11 Javascript
PM2自动部署代码步骤流程总结
Dec 10 Javascript
vue实现微信分享链接添加动态参数的方法
Apr 29 Javascript
小程序实现左滑删除的效果的实例代码
Oct 19 Javascript
vue实现抽屉弹窗效果
Nov 15 Javascript
javascript数组去掉重复
May 12 #Javascript
javascript 弹出层组件(升级版)
May 12 #Javascript
ExtJS4 组件化编程,动态加载,面向对象,Direct
May 12 #Javascript
关于js获取radio和select的属性并控制的代码
May 12 #Javascript
js 第二代身份证号码的验证机制代码
May 12 #Javascript
基于JQuery的动态删除Table表格的行和列的代码
May 12 #Javascript
五个jQuery图片画廊插件 推荐
May 12 #Javascript
You might like
用PHP和ACCESS写聊天室(一)
2006/10/09 PHP
PHP用户指南-cookies部分
2006/10/09 PHP
PHP实现MySQL更新记录的代码
2008/06/07 PHP
PHP6 mysql连接方式说明
2009/02/09 PHP
Joomla下利用configuration.php存储简单数据
2010/05/19 PHP
利用Memcached在php下实现session机制 替换PHP的原生session支持
2010/08/21 PHP
php记录日志的实现代码
2011/08/08 PHP
php生成带logo二维码方法小结
2016/04/08 PHP
php+resumablejs实现的分块上传 断点续传功能示例
2017/04/18 PHP
弹出模态框modal的实现方法及实例
2017/09/19 PHP
纯CSS3实现质感细腻丝滑按钮
2021/03/09 HTML / CSS
javascript获取隐藏dom的宽高 具体实现
2013/07/14 Javascript
Jquery通过Ajax方式来提交Form表单的具体实现
2013/11/07 Javascript
js中typeof的用法汇总
2013/12/12 Javascript
纯javascript实现简单下拉刷新功能
2015/03/13 Javascript
JavaScript转换与解析JSON方法实例详解
2015/11/24 Javascript
动态生成的DOM不会触发onclick事件的原因及解决方法
2016/08/06 Javascript
Bootstrap树形菜单插件TreeView.js使用方法详解
2016/11/01 Javascript
nodejs redis 发布订阅机制封装实现方法及实例代码
2016/12/15 NodeJs
Kotlin学习第一步 kotlin语法特性
2017/05/25 Javascript
基于canvas粒子系统的构建详解
2017/08/31 Javascript
vue组件之Alert的实现代码
2017/10/17 Javascript
Vue 全局loading组件实例详解
2018/05/29 Javascript
[02:40]2018年度DOTA2最佳新人-完美盛典
2018/12/16 DOTA
Python学习笔记整理3之输入输出、python eval函数
2015/12/14 Python
Python基于Logistic回归建模计算某银行在降低贷款拖欠率的数据示例
2019/01/23 Python
python使用threading.Condition交替打印两个字符
2019/05/07 Python
Python求正态分布曲线下面积实例
2019/11/20 Python
Python中有几个关键字
2020/06/04 Python
将tf.batch_matmul替换成tf.matmul的实现
2020/06/18 Python
Java程序员面试题
2013/07/15 面试题
代理人委托书
2014/09/16 职场文书
暂停营业通知
2015/04/25 职场文书
感动中国何玥观后感
2015/06/02 职场文书
Java中CyclicBarrier和CountDownLatch的用法与区别
2021/08/23 Java/Android
详解Oracle块修改跟踪功能
2021/11/07 Oracle