「座標物件字串」介紹
:「諸彼特座標物件字串」是一種表述座標軸上物件資訊的格式。
目前在二維空間中定義了 Marker、InfoWindow、Polyline、Line、Polygon、Triangle、Rectangle 與 Circle 等八種物件的字串表述格式,並且提供了物件繪製(DrawingManager)與呈現函式庫,藉由使用函式庫中的 JavaScript API,可以在網頁中輕易地繪製各個物件並且編碼產生出相對應的「諸彼特座標物件字串」;也可以輕易地將手上的「諸彼特座標物件字串」透過函式庫功能將字串解碼,讓字串所要表述的座標上之各物件重新呈現出來。
目前所支援的二維空間平台有: Google 地圖 和 HTML 5 二維畫布 (Canvas)。
換句話說,要在 地圖/畫布 上產生出各物件,可以:
- 用 API 在頁面中產生 DrawingManager,以所見即所得的方式即時繪製各物件;或
- 用各物件對應的 API 在 地圖/畫布 上以 JavaScript 程式繪製各物件。
「諸彼特座標物件字串」格式概觀
上圖呈現出「諸彼特座標物件字串」格式的概觀,由圖可知「諸彼特座標物件字串」是由一個或多個「設定」或「物件」的次級字串表述格式所構成;「設定」或「物件」則是再由「設定或物件代碼」加上一個或多個再次級的「屬性」字串表述格式所構成。
「地圖/畫布設定」 以及「各物件」的字串表述格式
:- 「地圖/畫布設定」之字串表述格式
- Map/Canvas Center (地圖/畫布中心點)
- Zoom (縮放等級)
- 「各物件」之字串表述格式
- Marker (標記)
- InfoWindow (資訊視窗)
- Polyline (多線段) (或, 中空多邊形)
- Line (線)
- Polygon (多邊形)
- Triangle (等腰三角形)
- Rectangle (矩形)
- Circle (圓形)
格式:
o,Y-軸座標,X-軸座標
地圖範例: o,24.88065,121.065427
畫布範例: o,109.72328593151204,214.0909703111111
格式:
z,縮放等級數字
範例: z,16
格式:
m,Y-軸座標,X-軸座標 [,標題字數,標題]
其中:
中括號 [] 內的屬性是選項欄位,可以不給予。
「標題」有設定時則須為 urlencode 之後的字串。
地圖範例: m,24.88065,121.065427
畫布範例: m,109.72328593151204,214.0909703111111
格式:
i,Y-軸座標,X-軸座標,保留,保留,視窗開啟狀態,訊息字數,訊息 [,標題字數,標題]
其中:
中括號 [] 內的屬性是選項欄位,可以不給予。
「保留」欄位請填數值 0 。
「視窗開啟狀態」 = 1 表示資訊視窗呈現開啟狀態;「視窗開啟狀態」 = 0 則反之。
「訊息」為 urlencode 之後的字串。
「標題」有設定時則須為 urlencode 之後的字串。
地圖範例: i,24.8768105,121.05556490000004,0,0,1,16,HuKou%20Old%20Street
畫布範例: i,121.72328593151204,185.0909703111111,0,0,1,16,HuKou%20Old%20Street
格式:
e,線條粗細,線條顏色,線條透明度,線段數,Y-軸座標1,X-軸座標1,Y-軸座標2,X-軸座標2,...,Y-軸座標N,X-軸座標N
「線」是「多線段」中的一種特化物件,是一個僅具有兩個端點的線段。如果在 Google 地圖上的「線」被拉成超過兩個端點時,則產生出的「諸彼特座標物件字串」會變成以「多線段」名義來表述該物件。
格式:
l,線條粗細,線條顏色,線條透明度,Y-軸座標1,X-軸座標1,Y-軸座標2,X-軸座標2
地圖範例: l,8,ef1568,0.8,24.87673271183448,121.05517387390137,24.90289078044739,121.04405879974365
畫布範例: l,8,ef1568,0.8,121.72328593151204,184.0909703111111,37.72328593151204,151.0909703111111
格式:
g,線條粗細,線條顏色,線條透明度,填滿顏色,填滿透明度,邊段數,Y-軸座標1,X-軸座標1,Y-軸座標2,X-軸座標2,...,Y-軸座標N,X-軸座標N
「等腰三角形」是「多邊形」中的一種特化物件,當然也可以用「多邊形」物件畫出「三角形」。如果在 Google 地圖上的「等腰三角形」被拉成超過三個端點或是變成不是等腰三角形時,則產生出的「諸彼特座標物件字串」會變成以「多邊形」名義來表述該物件。
格式:
a,線條粗細,線條顏色,線條透明度,填滿顏色,填滿透明度,Y-軸座標1,X-軸座標1,Y-軸座標2,X-軸座標2,Y-軸座標3,X-軸座標3
格式:
r,線條粗細,線條顏色,線條透明度,填滿顏色,填滿透明度,西南角Y-軸座標,西南角X-軸座標,東北角Y-軸座標,東北角X-軸座標
地圖範例: r,2,ef1568,1,61ed04,0.3,24.88227086962545,121.05922937393188,24.883789196412685,121.06319904327393
畫布範例: r,2,ef1568,1,61ed04,0.3,67.72328593151204,70.0909703111111,28.723285931512038,162.0909703111111
格式:
c,Y-軸座標,X-軸座標,半徑
地圖範例: c,2,ef1568,1,61ed04,0.3,24.902922352868245,121.0441019087184,733.1808524466962
畫布範例: c,2,ef1568,1,61ed04,0.3,37.72328593151204,152.0909703111111,21
從上面範例可知,同一個設定或物件中,物件代碼、各屬性是以「,」逗號做區隔。
- 多個「設定」及「物件」串在同一個「諸彼特座標物件字串」
- 設定或物件處理順序 (Ordering)
- 「設定」的 "後令壓前令"
- 「物件」呈現的疊層
將多個「地圖/畫布設定」及多個「物件」串在同一個「諸彼特座標物件字串」,是以「&」符號做區隔,其格式如下:
設定或物件1&設定或物件2&...&設定或物件N
「諸彼特座標物件字串」的解碼是從字串的左到右處理各「設定」或「物件」。
特意將相同「設定」(亦即具相同「設定代碼」的「設定」)放在同一個「諸彼特座標物件字串」中,其執行設定效果會有 "後令壓前令" 的結果,亦即: 在右邊的 "後令" 設定會壓過在左邊的 "前令" 設定。
「物件」在「諸彼特座標物件字串」中的順序對應各物件於呈現時的疊層順序。在字串越左邊的「物件」會呈現於疊層的越下方;在字串越右邊的「物件」會呈現於疊層的越上方,
特別屬性說明
- Y-軸座標:在「Google 地圖」模式下指的是 GPS 緯度座標;在「HTML 5 二維畫布」模式下則是 Y-軸座標,且往下是 "正加" 往上是 "負減" 狀態 (同於 HTML5 Canvas 設定)。
- X-軸座標:在「Google 地圖」模式下指的是 GPS 經度座標;在「HTML 5 二維畫布」模式下則是 x-軸座標。
- 「視窗開啟狀態」:1 表示資訊視窗呈現開啟狀態;0 則反之。
- 「標題」或「訊息」:是 urlencode 之後的字串。
- 「線條粗細」:為數字數值,單位是像素(pixel, px) 數。
- 「線條顏色」或「填滿顏色」:為六個 16 進位的數值組成,最前面沒有「#」符號。每兩個一組分別表示 R、G、B 三原色。
- 「線條透明度」或「填滿透明度」:為 0.0 ~ 1.0 之間的浮點數值。
格式簡表
碼 | 設定/物件 (具 API 連結) | 格式 |
---|---|---|
o | Map/Canvas Center (地圖/畫布中心點) | o,Y-軸座標,X-軸座標 |
z | Zoom (縮放等級) | z,縮放等級數字 |
m | Marker (標記) | m,Y-軸座標,X-軸座標 [,標題字數,標題] |
i | InfoWindow (資訊視窗) | i,Y-軸座標,X-軸座標,保留,保留,視窗開啟狀態,訊息字數,訊息 [,標題字數,標題] |
e | Polyline (多線段) (或, 中空多邊形) | e,線條粗細,線條顏色,線條透明度,線段數,Y-軸座標1,X-軸座標1,Y-軸座標2,X-軸座標2,...,Y-軸座標N,X-軸座標N |
l | Line (線) | l,線條粗細,線條顏色,線條透明度,Y-軸座標1,X-軸座標1,Y-軸座標2,X-軸座標2 |
g | Polygon (多邊形) | g,線條粗細,線條顏色,線條透明度,填滿顏色,填滿透明度,邊段數,Y-軸座標1,X-軸座標1,Y-軸座標2,X-軸座標2,...,Y-軸座標N,X-軸座標N |
a | Triangle (等腰三角形) | a,線條粗細,線條顏色,線條透明度,填滿顏色,填滿透明度,Y-軸座標1,X-軸座標1,Y-軸座標2,X-軸座標2,Y-軸座標3,X-軸座標3 |
r | Rectangle (矩形) | r,線條粗細,線條顏色,線條透明度,填滿顏色,填滿透明度,西南角Y-軸座標,西南角X-軸座標,東北角Y-軸座標,東北角X-軸座標 |
c | Circle (圓形) | c,Y-軸座標,X-軸座標,半徑 |
座標物語 | 贊助比特幣: 1LX5KC19tXCPK8y72Z6LVoZjoSaCp9P6K