模仿百度三維地圖的js資料分享

來源:互聯網
上載者:User

百度三維地圖的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資料就和百度上相同了。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.