กำลังโหลดเลเยอร์แผ่นเวกเตอร์ในแผนที่แผ่นพับ?


9

ฉันต้องการโหลดเลเยอร์ไทล์เวกเตอร์ในแผนที่ Leaflet

tile tile เป็นเลเยอร์ tile vector ที่เกี่ยวกับลำดับ Mapillary (ดูที่https://a.mapillary.com/#vector-tiles ... ) และรูปแบบ URL ของ tile คือ:

https://d2munx5tg0hw47.cloudfront.net/tiles/{z}/{x}/{y}.mapbox

ไทล์กระเบื้องใช้รูปแบบไทล์เวกเตอร์ของ Mapbox

ฉันค้นหาบนเน็ต แต่ฉันไม่พบตัวอย่าง: ฉันเห็นว่าสิ่งนี้สามารถทำได้โดยใช้ Mapbox แต่ถ้าเป็นไปได้ฉันต้องการใช้เฉพาะแผ่นพับเท่านั้น

คำตอบ:


11

ในแผ่นปลิว 0.7 เท่านี้ทำง่ายด้วยปลั๊กอินLeaflet.MapboxVectorTile คุณเพียงแค่ต้องระบุรูปแบบ URL ในurlตัวเลือกการกำหนดค่า เอกสารประกอบปลั๊กอินมีรายละเอียดเกี่ยวกับตัวเลือกการกำหนดค่าอื่น ๆที่มีให้ ในการเพิ่มข้อมูล Mapillary คุณจะต้องใช้มันดังนี้:

var config = {
  url: "https://d2munx5tg0hw47.cloudfront.net/tiles/{z}/{x}/{y}.mapbox"
};
var mapillarySource = new L.TileLayer.MVTSource(config);
map.addLayer(mapillarySource);

นี่คือซอแสดงผล:

http://fiddle.jshell.net/nathansnider/sj12o4hj/

สำหรับ Leaflet 1.0x คุณจะต้องใช้วิธีของLeaflet.VectorGrid L.vectorGrid.protobufมันมีตัวเลือกในการจัดแต่งทรงผมตามที่อธิบายไว้ในเอกสาร แต่สำหรับการโหลดไพ่คุณจะใช้ดังนี้:

var url = 'https://d2munx5tg0hw47.cloudfront.net/tiles/{z}/{x}/{y}.mapbox';
var mapillaryLayer = L.vectorGrid.protobuf(url).addTo(map);

ซอตัวอย่าง:

http://fiddle.jshell.net/nathansnider/mwmpmLo7/


ยิ่งใหญ่ !! มันใช้งานได้ ง่ายชัดเจนและเป็นตัวอย่าง ที่สุด!
Cesare

3
@nathansnider JSFiddle ของคุณไม่สามารถเข้าถึงได้ จะรักเป็นตัวอย่างที่เหมาะสมเกี่ยวกับวิธีการอ่านกระเบื้องแบบเวกเตอร์ที่มีแผ่นพับ
LBes

4

ดูรายชื่อของปลั๊กอินสำหรับกระเบื้องแผ่นปลิวเวกเตอร์ โปรดทราบว่า MapboxVectorTile และ hoverboard ใช้งานได้กับ Leaflet 0.7.x เท่านั้นซึ่งจะเลิกใช้งานโดย Leaflet 1 "Really Soon ™"

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.