คำถามติดแท็ก leaflet

ไลบรารี JavaScript แบบโอเพ่นซอร์สสำหรับแผนที่เชิงโต้ตอบที่เหมาะกับอุปกรณ์พกพา

1
ตัวอย่างใด ๆ ของ D3.brush () ที่ใช้กับ Leaflet?
ฉันมีแผนที่แผ่นพับที่ฉันวาง SVG "ด้านบนของ" โดยใช้บานหน้าต่างแผ่นพับซ้อนทับ ฉันต้องการเพิ่มแปรง D3 ลงในบานหน้าต่างวางซ้อนที่จะอัปเดตแผนภูมิแยกต่างหาก ฉันได้ดูตัวอย่างของตัวอย่าง D3.brush () และตัวอย่างแผ่นพับใด ๆ แต่ไม่พบสิ่งใดเลย สิ่งที่ใกล้เคียงที่สุดที่ฉันพบคือhttps://github.com/mbostock/d3/issues/1321และhttps://www.mapbox.com/mapbox.js/example/v1.0.0/timeline-scaled-markers/ (นี่เป็นการแปรงแผนภูมิไม่ใช่แผนที่) ฉันสงสัยว่า: ใครรู้ตัวอย่างหรือ ใครรู้ว่าสิ่งนี้เป็นไปได้ / ตรงไปตรงมาสมเหตุสมผลหรือ ถ้าเป็นไปได้ทุกคนมีคำแนะนำเกี่ยวกับปัญหาที่ฉันอาจพบ
10 leaflet  d3 

1
วิธีเพิ่มการระบุแหล่งที่มาบนเลเยอร์ GeoJSON จากแผ่นพับ?
ฉันต้องใช้ GeoJSON Layer บนแผนที่ Leaflet ของฉัน นี่คือตัวอย่างรหัสของฉัน: function onEachFeature(feature, layer) { if (feature.properties && feature.properties.popupContent) { layer.bindPopup(feature.properties.popupContent); } } myGeoJsonLayer = L.geoJson(data, { pointToLayer: function (feature, latlng) { return L.circleMarker(latlng, geojsonMarkerOptions); }, onEachFeature: onEachFeature }); myGeoJsonLayer.addTo(map); TOC.addOverlay(myGeoJsonLayer, "My GeoJSON Layer"); ทั้งหมดใช้งานได้ ตอนนี้ฉันต้องการเพิ่มที่มาในเลเยอร์ของฉัน แต่อย่างไร

3
แผนภูมิภายในหน้าต่างป๊อปอัปใน Javascript
จะแสดงแผนภูมิในหน้าต่างป๊อปอัปได้อย่างไร ฉันใช้แผ่นปลิว JS ซึ่งมีการสนับสนุนราฟาเอลปลั๊กอินhttp://dynmeth.github.com/RaphaelLayer/ เป็นไปได้ไหมที่จะสร้าง div ภายในหน้าต่างป๊อปอัพ ฉันคิดเกี่ยวกับhttp://softwarebyjosh.com/raphy-charts/ ถ้ามันเป็นไปไม่ได้กับ Leaflet ฉันเปิดให้แก้ปัญหาแผนที่ราฟาเอลเท่านั้น ขอบคุณ


4
วิธีการเปลี่ยนลำดับเลเยอร์ใน leaflet.js
ฉันต้องการที่จะเปลี่ยนลำดับของเลเยอร์ในแผ่นพับ ฉันลองใช้ปลั๊กอินสองแผ่นเพื่อเปลี่ยนลำดับเลเยอร์ ครั้งแรกที่ฉันพยายามใบปลิว-ควบคุม orderlayersซึ่งดูเหมือนว่าจะทำงาน แต่ไม่สนับสนุน layerGroups ที่นี่เป็นของฉันข้อผิดพลาดที่ยื่น ต่อไปฉันลองmapbbcodeซึ่งรองรับ layerGroups แต่ดูเหมือนจะไม่ทำงานหรือได้รับการบำรุงรักษา ใครบ้างมีคำแนะนำสำหรับวิธีการใช้คุณสมบัตินี้?
10 leaflet 

3
วิธีติดป้ายกำกับรูปหลายเหลี่ยม GeoJSON
ฉันกำลังใช้ Leaflet รวมกับคุณสมบัติ GeoJSON มีวิธีติดป้ายกำกับคุณลักษณะ GeoJSON (ในกรณีนี้คือรูปหลายเหลี่ยม) หรือไม่ ควรได้รับฉลากจาก feature.properties.name นี่คือรหัสของฉันที่ฉันคิดว่าฉันสามารถแทรกป้ายกำกับ: function style(feature) { return { weight: 2, opacity: 1, color: 'white', dashArray: '3', fillOpacity: 0.7, fillColor: getColor(feature.properties.coloring) }; }

2
กำลังโหลดเลเยอร์แผ่นเวกเตอร์ในแผนที่แผ่นพับ?
ฉันต้องการโหลดเลเยอร์ไทล์เวกเตอร์ในแผนที่ 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 แต่ถ้าเป็นไปได้ฉันต้องการใช้เฉพาะแผ่นพับเท่านั้น

1
Leaflet JS เพิ่มรูปร่าง GeoJSON เป็นรูในรูปหลายเหลี่ยม
ฉันมีชุดข้อมูลที่มี geojson อยู่แล้ว ฉันสามารถเพิ่มลงในแผนที่ของฉันด้วยรหัสบรรทัดต่อไปนี้ L.geoJson(data.geojson).addTo(map); และฉันได้รับสิ่งนี้ แต่ฉันต้องการบรรลุสิ่งนี้โดยที่พื้นที่โดยรอบถูกปกคลุมและรูปร่างของ geojson ของฉันคือรูที่อยู่ตรงกลาง ตามเอกสารแผ่นพับ นอกจากนี้คุณยังสามารถสร้างรูปหลายเหลี่ยมที่มีรูโดยส่งอาร์เรย์อาร์เรย์ของ latlngs ด้วยอาร์เรย์ latlngs แรกที่แทนวงแหวนด้านนอกในขณะที่ส่วนที่เหลือจะแทนหลุมภายใน ดังนั้นในทางทฤษฎีสิ่งที่ชอบ: var scotland = [[60,-13],[60,0],[50,4],[50,-13]]; L.Polygon([scotland,coordinatesOfShapeHole].addTo(map); ปัญหาของฉันคือฟังก์ชั่นนี้ดูเหมือนจะไม่ให้ฉันผ่าน data.geojson หรือ data.geojson.coordinates เป็นพารามิเตอร์ตัวที่สอง (CoordinOfShapeHole); มีวิธีการแปลง data.geojson ให้เป็นรูปแบบที่ฟังก์ชั่น L.Polygon มีความสุขหรือไม่? หรือทำสิ่งเดียวกัน แต่กับ L.geoJson

3
ผสานรูปหลายเหลี่ยม geojson ด้วยพิกัด WGS84
ฉันมีไฟล์ Geojson ที่มีรูปหลายเหลี่ยมที่อยู่ติดกันและฉันต้องการที่จะรวมพวกเขาเป็นหนึ่ง ฉันรู้ว่ามันเป็นคำถามที่เกิดขึ้นอีก แต่ฉันไม่สามารถหาข้อมูลสำหรับรูปหลายเหลี่ยมที่มีพิกัดละติจูดและลองจิจูดเหมือนใน geojson นี้: { "type": "FeatureCollection", "features": [{ "type": "Feature", "id": "16966", "properties": { "Name": "BEYNES" }, "geometry": { "type": "Polygon", "coordinates": [ [ [1.874862143378, 48.834371283832], [1.8656030688715, 48.831612507285], [1.8515105581603, 48.834338209867], [1.8466221791684, 48.828669687135], [1.8415374906793, 48.828818416443], [1.8392188748285, 48.830163082204], [1.8419058888315, 48.843509743804], [1.8472716401406, 48.849200964455], [1.8375210341485, 48.856814659389], [1.8383984699903, 48.87125874614], [1.8572939822902, 48.871944300476], …

1
เปลี่ยนสไตล์เริ่มต้นที่จุด GeoJSON Layer ใน Leaflet หรือไม่
ฉันต้องการเปลี่ยนสไตล์บนเลเยอร์จุด GeoJSON ในแผนที่แผ่นพับ ฉันใช้รหัสต่อไปนี้: function onEachFeature(feature, layer) { if (feature.properties && feature.properties.popupContent) { layer.bindPopup(feature.properties.popupContent); } } var myStyle = { "color": "#ff7800", "weight": 5, "opacity": 0.65 }; myGeoJSONLayer = L.geoJson(myGeoJSON, { style: myStyle, onEachFeature: onEachFeature, }); myGeoJSONLayer.addTo(map); ทุกอย่างทำงานได้ แต่มีเครื่องหมายสีน้ำเงินมาตรฐานเริ่มต้นบนแผนที่ของฉันเสมอ

1
พล็อตแบบอคติของ Mercator ในแผ่นพับ
ฉันได้รับแรงบันดาลใจจากภาพวิกิพีเดียนี้จากหน้าโปรเจคเตอเรเตอร์เพื่อแฮกใบปลิว แนวคิดก็คือให้เคอร์เซอร์ของคุณเคลื่อนที่ไปตามทวีปและจะได้รับการแก้ไขสำหรับการฉายภาพ ดู JSFiddle ต่อไปนี้สำหรับสถานะ sofar; http://jsfiddle.net/cantdutchthis/NrAEL/1/ ฉันเป็นคนใหม่ในโลกฉายและถึงแม้ว่าตัวอย่างจะใช้ได้ดีพอสำหรับละติจูด เมื่อฉันเปรียบเทียบequirectangularและMercator เงื้อมมือบนวิกิพีเดียฉันได้รับความประทับใจว่าอคติของเส้นโครงนั้นอยู่ที่ 'แกน y' เมื่อคุณเปรียบเทียบการฉายสองภาพนี้ ฉันได้รับความประทับใจว่าฉันไม่ได้แก้ไขลองจิจูดเนื่องจากรูปภาพแรกของวิกิพีเดีย ฉันต้องการสนับสนุนสิ่งนี้ แต่ไม่รู้ว่าจะทำอย่างไรดีที่สุด ในปัจจุบันวิธีที่ฉันสามารถแสดงอคติของการฉายภาพของ Mercator คือการเปลี่ยนพิกัดไปที่ผู้ชี้ขาดทุกครั้งที่เมาส์เคลื่อนที่ map.on("mousemove", function(d){ Object.keys(myLayer._layers).map(function(d){ myLayer.removeLayer( myLayer._layers[d] ) }) var plotCoords = []; // green is the coordinate array for the landmass var green = [ [-46.76373672, 82.62796021],... ] for ( i in …

2
แถบความคืบหน้าสำหรับแผนที่แผ่นพับ
มีวิธีใดบ้างที่จะแสดงแถบความคืบหน้าในขณะที่รอว่าเลเยอร์ทั้งหมดจะแสดงผลในแผนที่แผ่นพับ? ในกรณีเฉพาะนี้ขณะที่เลเยอร์ GeoJSON แสดงผล

1
แผ่นพับแสดงไมล์ / กิโลเมตร
Googlemaps แสดงให้คุณเห็นว่ามีพื้นที่ขนาดใหญ่บนแผนที่โดยการแสดงแถบเล็ก ๆ ที่มีจำนวนไมล์ / กิโลเมตรที่ด้านซ้ายสุด แผ่นพับยังรองรับสิ่งนี้หรือไม่? ฉันไม่เห็นรายชื่ออยู่ในเอกสารที่ leafletjs แต่ดูเหมือนว่าสิ่งที่ห้องสมุดควรสนับสนุน
9 leaflet  maps 

4
ฉันจะหยุดการเผยแพร่กิจกรรมด้วยคลิกขวาบนเครื่องหมายของแผ่นพับได้อย่างไร
ฉันไม่พบเหตุการณ์คลิกขวาในเครื่องหมายของแผ่นพับดังนั้นฉันจึงเริ่มฟังเหตุการณ์ที่เกิดขึ้น ในวิธีที่แก้ไขเหตุการณ์นี้ฉันจะตรวจสอบ if (event.originalEvent.button == 2) { do_something(); // now i want to stop propagation of the rightclick return; } สิ่งนี้ทำงานในสิ่งที่เรียกว่า do_something () แต่เหตุการณ์แพร่กระจายไปยังแผนที่และมีการแสดงเมนูบริบท ฉันจะป้องกันไม่ให้เหตุการณ์เผยแพร่สู่แผนที่ได้อย่างไร ใช้ได้กับเบราว์เซอร์หลัก (เช่น IE) ทั้งหมดหรือไม่

2
ออโต้ซูมที่รูปหลายเหลี่ยมพร้อมใบปลิว
ฉันมี geojson ที่มีหลายรูปหลายเหลี่ยมและฉันต้องการให้พอดีกับรูปหลายเหลี่ยมนี้กับแผนที่ ศูนย์กลางแผนที่บนรูปหลายเหลี่ยมเดียวเท่านั้นที่ไม่ได้อยู่ในรูปหลายเหลี่ยม นี่คือสคริปต์ของฉัน var map = L.map('map',{ zoomControl:false }) .setView([<?php echo $lat; ?>, <?php echo $lng; ?>], 12); var zoomFS = new L.Control.ZoomFS(); map.addControl(zoomFS); var defaultLayer = new L.TileLayer.MapBox.Light({minZoom: 10, maxZoom: 16}); map.addLayer(defaultLayer); var info = L.control(); info.onAdd = function (map) { this._div = L.DomUtil.create('div', 'info'); this.update(); return …

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