[英]Custom Google Maps Layer for Markers and Polygons?
我對googleMaps Javascript API有疑問。 是否可以創建一個自定義圖層,使其像給定圖層(例如交通和自行車圖層)一樣顯示/隱藏?
我想為自己的標記創建自己的圖層,為多邊形創建另一個圖層。
提前致謝
我了解您想在網站上創建自定義圖層的問題。 您還需要隨時更改圖層信息。
Google maps api提供KML和GeoRSS數據格式以“顯示地理信息”。
我們將介紹KML格式。
您可以創建一個KML文件,以便為您的圖層提供信息。 您可以在此處找到KML文件的示例。 當然,您可以隨時在服務器上編輯此文件。
這是在php上編輯文件的示例:
$file = file_get_contents($_SERVER['DOCUMENT_ROOT']."/yourKLMFile.txt");
$file= str_replace("OldValue", "NewValue", $file);
echo ($file);
您還可以為用戶提供個人數據,或者只是更新您的圖層。
接下來,JS。
Google maps api提供了KmlLayer()
構造函數,巫婆可以創建您的圖層並將其顯示在地圖上(因為您已經創建了它)。
構造函數采用兩個重要參數:
這是一個示例示例:
var ctaLayer = new google.maps.KmlLayer({
url: 'http://googlemaps.github.io/js-v2-samples/ggeoxml/cta.kml',
map: map
});
這是一個示例代碼spinnet,可以恢復所有這些內容:
function initMap() { var map = new google.maps.Map(document.getElementById('map'), { zoom: 11, center: {lat: 41.876, lng: -87.624} }); var ctaLayer = new google.maps.KmlLayer({ url: 'http://googlemaps.github.io/js-v2-samples/ggeoxml/cta.kml', map: map }); }
#map { height: 100%; } /* Optional: Makes the sample page fill the window. */ html, body { height: 100%; margin: 0; padding: 0; }
<div id="map"></div> <script async defer src="https://maps.googleapis.com/maps/api/js?callback=initMap"> </script>
請記住,您始終可以在php中更新數據文件。
您可以在Google Maps網站上查閱有關KML圖層以及一般Google Maps圖層的文檔。
如果您有任何疑問,請告訴我評論
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.