簡體   English   中英

自定義標記和多邊形的Google Maps圖層?

[英]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()構造函數,巫婆可以創建您的圖層並將其顯示在地圖上(因為您已經創建了它)。

構造函數采用兩個重要參數:

  • 您的KML文件的網址(可能在您的服務器上);
  • 您要顯示圖層的巫婆中的地圖。

這是一個示例示例:

  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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM