A - 入門
簡而言之,我們的自定義元素應該
- 具有內建搜尋功能,可在地圖上搜尋和標記位置。
- Accept 一個名為 location-array 的屬性,它是一個場所列表
- 有一個監聽器,用於收聽名為“google-map-ready”的事件。當元素載入時,會觸發此事件。
- 此偵聽器應迴圈遍歷位置陣列,並將位置陣列中的下一個元素指定為當前搜尋查詢
- 有一個叫做快取的方法
- 只要搜尋返回結果,此方法就會快取位置陣列中每個位置的緯度和經度
- 有一個 Dom-repeat 模板,它迴圈快取結果,並在每個位置刪除一個標記
因此,我們的自定義元素的目的本質上意味著,如果你傳遞一個像這樣的位置陣列:
<g-map location-array='["Norway","Sweden"]'></g-map>
自定義元素
- 不僅應該在地圖上標記挪威和瑞典,而且,
- 還應在地圖上標記任何後續搜尋 - 即,如果你搜尋波士頓,在地圖示記為挪威和瑞典後,波士頓也應該在地圖上有一個圖釘
匯入依賴項
首先,讓我們將我們需要的東西匯入到我們的元素中。這個元素在
元件/ G-map.html
<link rel=import href="../bower_components/google-map/google-map.html">
<link rel=import href="../bower_components/google-map/google-map-marker.html">
<link rel=import href="../bower_components/google-map/google-map-search.html">
<link rel=import href="../bower_components/google-map/google-map-directions.html">
注意
上面的一些匯入,不是必需的,但是很好,如果你喜歡在標記上新增功能
我們一定需要,
- 谷歌地圖
- 谷歌地圖示記物
- 谷歌地圖搜尋
此外,據推測,你知道如何通過 Bower 安裝單獨的 Polymer Elements
用聚合物註冊我們的元素
接下來,我們將自定義元素註冊為“g-map”
Polymer({ is:"g-map" });
所以! 我們的自定義元素已在 Polymer 註冊。
稍後我們將新增谷歌地圖搜尋特定屬性和我們需要的任何其他屬性。
將藍圖新增到我們的自定義元素 - 通過模板
接下來,我們為自定義元素新增模板
開啟 elements / g-map.html,並新增一個繫結自定義元素 DOM 的模板
<template id="google-map-with-search">
</template>
現在,將你為自定義元素編寫的整個 html 和 javascript 包裝在 dom-module 中。
<dom-module id="g-map">
<template id="google-map-with-search">
</template>
<script>
Polymer({
is:"g-map",
properties: {}
});
</script>
</dom-module>
非常好! 我們有一個基本的藍圖