模仿百度三維地圖的js數(shù)據(jù)分享
更新時(shí)間:2011年05月12日 23:36:05 作者:
模仿百度三維地圖的js數(shù)據(jù),需要的朋友可以參考下。
百度三維地圖的js數(shù)據(jù)格式: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}]}}
我們進(jìn)行模仿,首先了解下作為關(guān)聯(lián)數(shù)組的對(duì)象的概念:
var o = new Object();
o.x="Hello!";
上面我們定義了一個(gè)對(duì)象,對(duì)象的一個(gè)屬性是x,這樣的形式是我們常見的。JavaScript中的對(duì)象可以作為關(guān)聯(lián)數(shù)組使用,因?yàn)樗鼈兡軌驅(qū)⑷我獾臄?shù)據(jù)值和任意的字符串關(guān)聯(lián)起來(lái)。如果采用這種方式使用對(duì)象,那么要訪問(wèn)的對(duì)象就要采用不同的語(yǔ)法,即使用一個(gè)由方括號(hào)封閉起來(lái)的、包含所需屬性名的字符串,使用這種語(yǔ)法我們可以將上面的o對(duì)象的x屬性進(jìn)行如下賦值:
var o = new Object();
o["x"]="Hello!"
這種方式在某些情況下是必要的,例如在你不知道屬性名的情況下,就不能使用"."來(lái)存取對(duì)象的屬性,但是可以使用運(yùn)算符[]來(lái)命名屬性,因?yàn)樗膶傩悦且粋€(gè)字符串值(該值是動(dòng)態(tài)的,在運(yùn)行時(shí)可以改變),而不是一個(gè)標(biāo)識(shí)符(它是靜態(tài)的,在程序中必須進(jìn)行硬編碼)。如果使用一個(gè)對(duì)象時(shí)采用的是這種方式,我們稱它為關(guān)聯(lián)數(shù)組。(詳細(xì)參見《JavaScript權(quán)威指南(第四版)》(155頁(yè)))
通過(guò)上面的描述,我們可以這樣來(lái)定義一個(gè)對(duì)象:
(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)我們還可以將對(duì)象的形式寫成如下所示:
<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數(shù)據(jù)就和百度上相同了。
我們進(jìn)行模仿,首先了解下作為關(guān)聯(lián)數(shù)組的對(duì)象的概念:
var o = new Object();
o.x="Hello!";
上面我們定義了一個(gè)對(duì)象,對(duì)象的一個(gè)屬性是x,這樣的形式是我們常見的。JavaScript中的對(duì)象可以作為關(guān)聯(lián)數(shù)組使用,因?yàn)樗鼈兡軌驅(qū)⑷我獾臄?shù)據(jù)值和任意的字符串關(guān)聯(lián)起來(lái)。如果采用這種方式使用對(duì)象,那么要訪問(wèn)的對(duì)象就要采用不同的語(yǔ)法,即使用一個(gè)由方括號(hào)封閉起來(lái)的、包含所需屬性名的字符串,使用這種語(yǔ)法我們可以將上面的o對(duì)象的x屬性進(jìn)行如下賦值:
var o = new Object();
o["x"]="Hello!"
這種方式在某些情況下是必要的,例如在你不知道屬性名的情況下,就不能使用"."來(lái)存取對(duì)象的屬性,但是可以使用運(yùn)算符[]來(lái)命名屬性,因?yàn)樗膶傩悦且粋€(gè)字符串值(該值是動(dòng)態(tài)的,在運(yùn)行時(shí)可以改變),而不是一個(gè)標(biāo)識(shí)符(它是靜態(tài)的,在程序中必須進(jìn)行硬編碼)。如果使用一個(gè)對(duì)象時(shí)采用的是這種方式,我們稱它為關(guān)聯(lián)數(shù)組。(詳細(xì)參見《JavaScript權(quán)威指南(第四版)》(155頁(yè)))
通過(guò)上面的描述,我們可以這樣來(lái)定義一個(gè)對(duì)象:
(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)我們還可以將對(duì)象的形式寫成如下所示:
<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數(shù)據(jù)就和百度上相同了。
相關(guān)文章
JavaScript類數(shù)組對(duì)象轉(zhuǎn)換為數(shù)組對(duì)象的方法實(shí)例分析
這篇文章主要介紹了JavaScript類數(shù)組對(duì)象轉(zhuǎn)換為數(shù)組對(duì)象的方法,結(jié)合實(shí)例形式分析了javascript類數(shù)組對(duì)象的功能,以及類數(shù)組對(duì)象轉(zhuǎn)換為數(shù)組對(duì)象的相關(guān)方法與實(shí)現(xiàn)技巧,需要的朋友可以參考下2018-07-07bootstrap table插件的分頁(yè)與checkbox使用詳解
這篇文章主要為大家詳細(xì)介紹了bootstrap table插件的分頁(yè)與checkbox使用詳解,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-07-07js實(shí)現(xiàn)字符串和數(shù)組之間相互轉(zhuǎn)換操作
這篇文章主要介紹了js實(shí)現(xiàn)字符串和數(shù)組之間相互轉(zhuǎn)換操作的相關(guān)資料,感興趣的小伙伴們可以參考一下2016-01-01微信小程序-橫向滑動(dòng)scroll-view隱藏滾動(dòng)條
本篇文章主要介紹了微信小程序-橫向滑動(dòng)scroll-view隱藏滾動(dòng)條的相關(guān)知識(shí)。具有很好的參考價(jià)值。下面跟著小編一起來(lái)看下吧2017-04-04原生js實(shí)現(xiàn)隨機(jī)點(diǎn)餐效果
一款十分簡(jiǎn)單的原生js實(shí)現(xiàn)的隨機(jī)點(diǎn)菜代碼,點(diǎn)擊點(diǎn)菜按鈕隨機(jī)點(diǎn)取上面菜單的菜品,可根據(jù)需求改成自己需要功能,比如說(shuō)隨機(jī)點(diǎn)名。感興趣的朋友來(lái)參考實(shí)現(xiàn)代碼吧2019-12-12JS 頁(yè)面自動(dòng)加載函數(shù)(兼容多瀏覽器)
兼容多個(gè)瀏覽器的自動(dòng)加載函數(shù)。2009-05-05JavaScript實(shí)現(xiàn)簡(jiǎn)易購(gòu)物車最全代碼解析(ES6面向?qū)ο?
這篇文章主要為大家詳細(xì)介紹了JavaScript實(shí)現(xiàn)簡(jiǎn)易購(gòu)物車最全代碼,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-09-09