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

JavaScript เป็นภาษาสคริปต์เชิงวัตถุต้นแบบซึ่งเป็นแบบไดนามิกพิมพ์อย่างอ่อนและมีฟังก์ชั่นชั้นหนึ่ง

17
เปรียบเทียบไลบรารีการแม็พ JavaScript ต่างๆ
ฉันกำลังทำงานกับระบบการทำแผนที่บนเว็บและฉันกำลังพยายามหาว่าจะใช้ห้องสมุดใด นี่คือลิงก์ไปยังการเปรียบเทียบไลบรารีที่มีอยู่: เกณฑ์มาตรฐานของ Laurent Jegou (ตั้งแต่ปี 2010) เป็นมุมมองระดับโลกเกี่ยวกับโซลูชันการทำแผนที่เว็บ (ทั้งไคลเอนต์และเซิร์ฟเวอร์) การเปรียบเทียบ FOSS ไลบรารีโดยGerman Carrilloสามารถพบได้ที่นี่ : รายการของห้องสมุดจนถึง: Google Maps Microsoft Virtual Earth MapQuest Leaflet - "ความคิดเห็นมีขนาดเล็กลงเร็วขึ้นใหม่ขึ้นและตรงไปตรงมามากขึ้นนอกจากนี้ยังสามารถอ่านเป็นคุณสมบัติที่น้อยลงและทดสอบน้อยลง" -Geographika (ดูด้านล่าง) ArcGIS API สำหรับ JavaScript - ทำงานได้ดีที่สุดกับ ArcGIS Server (ดูด้านล่าง) ส่วนขยายของแผนที่ Google MapsและBingยังมีให้คุณใช้ ESRI API กับ Google / Bing maps (แม้ว่านี่จะเป็นจริงของห้องสมุดส่วนใหญ่) API ของ Yahoo Map …

6
การแสดงชุดข้อมูลขนาดใหญ่ด้วย Leaflet
เมื่อใช้ Leaflet ในการมองเห็นชุดข้อมูลขนาดใหญ่ (GeoJSON ที่มีคุณสมบัติ 10,000 จุด) ไม่น่าแปลกใจที่เบราว์เซอร์ล่มหรือหยุดทำงาน ตัวอย่างย่อย 1,000 ฟีเจอร์จากชุดข้อมูลเดียวกันนั้นทำงานได้อย่างไร้ที่ติ น่าเสียดายที่ฉันไม่สามารถแชร์ชุดข้อมูลให้ผู้อื่นลองได้ ไม่มีใครมีวิธีแก้ปัญหาที่ดีกว่าสำหรับการแสดงชุดข้อมูลขนาดใหญ่เช่นนี้หรือไม่? (เป้าหมายสูงสุดคือการปรับขนาดให้ถึง 2 ล้านฟีเจอร์) ฉันยินดีที่จะพิจารณากรอบการสร้างภาพออฟไลน์ในกรณีที่เบราว์เซอร์ที่ใช้แทนเช่นPolymapsหรือd3.jsเป็นต้นถือว่าไม่สามารถใช้งานได้ แก้ไข:ลืมพูดถึงผู้ใช้จะต้องสามารถกรองชุดข้อมูลตามคุณลักษณะ ดังนั้นเมื่อไม่ใช้คุณลักษณะNคุณสมบัติเฉพาะการจับคู่n <= Nอาจต้องแสดงผลแบบไดนามิก

3
การเพิ่ม / ลบเลเยอร์แผ่นพับ GeoJSON
ฉันกำลังพยายามแสดงเลเยอร์ GeoJSON ที่เลเยอร์การซูมที่แตกต่างกันโดยใช้ API ของ Leaflet ฉันสามารถโหลดและแสดงทั้งสามเลเยอร์ได้พร้อมกัน (แม้ว่าฉันไม่ต้องการให้พวกเขาทั้งหมดแสดงพร้อมกัน) ฉันสามารถโหลดและแสดงผลที่ระดับการซูมที่แตกต่างกัน ฉันได้ตั้งรหัสไว้ที่ระดับการซูม 1-6 แผนที่จะแสดงเลเยอร์ GeoJSON หนึ่งชั้น ที่ระดับ 7-10 ระบบจะแสดงรายการอื่นและที่ระดับ 11+ จะแสดงรายการที่สาม แสดงพวกเขาทำงาน สิ่งที่ฉันพยายามจะทำงานตอนนี้คือการปิดคนอื่นถ้ามีคนแสดง ทำงานจาก 1-6 ถึง 7-10 งาน (หมายความว่ามันจะปิดเลเยอร์ 1-6 อย่างถูกต้อง) แต่ไม่ใช่จาก 7-10 ถึง 11+ (หมายถึงเลเยอร์ 7-10 ติดรอบ) และฉันไม่สามารถคิดได้ ทำไม (ใช้รหัสเดียวกัน) นี่คืออาแจ็กซ์สำหรับเลเยอร์ GeoJSON: function getJson(defaultStyle, map, simp, geojsonLayer){ var url = 'file' …

8
OpenLayers - วาดแผนที่ใหม่หลังจากปรับขนาดคอนเทนเนอร์
ในเว็บแอปพลิเคชันของฉันฉันต้องการให้ผู้ใช้กำหนดขนาดของคอนเทนเนอร์แผนที่ ทุกอย่างทำงานได้ดีเมื่อมีการขยายคอนเทนเนอร์เล็กน้อย (เห็นได้ชัดว่านี่เป็นเพราะกระเบื้องที่อยู่ด้านหลังขอบถูกโหลดแล้ว) อย่างไรก็ตามเมื่อคอนเทนเนอร์ถูกขยายอย่างมีนัยสำคัญ (ในตัวอย่างต่อไปนี้จากความกว้าง 300 ถึง 1000px) จะมีพื้นที่ว่างเหลือ จะทำให้แผนที่วาดใหม่และปรับให้เข้ากับขนาดใหม่ได้อย่างไร? การโทรredraw()ทุกชั้นไม่ได้ช่วยอะไร ไม่ได้ซูมเข้าและออก ฉันทดสอบสิ่งนี้ด้วยผลลัพธ์ที่อธิบายไว้ใน Opera, Chrome และ Firefox ใน IE8 น่าแปลกใจที่ปัญหาไม่เกิดขึ้นและแผนที่ปรับโดยอัตโนมัติ หน้าเว็บแบบง่ายสำหรับการทดสอบ: <html> <head> <style> #mapbox { width: 300px; height: 500px; border: 1px solid black; } </style> <script src="http://openlayers.org/api/OpenLayers.js"></script> </head> <body> <div id="mapbox"></div> <input type="button" id="test" value="resize"> <script> var map = …

7
ไลบรารี JavaScript เพียวสำหรับการดำเนินการทางเรขาคณิต
ไม่มีใครรู้เกี่ยวกับห้องสมุด JavaScript ที่บริสุทธิ์สำหรับการดำเนินการทางเรขาคณิตเช่นบัฟเฟอร์, สหภาพ, ปริภูมิ ฯลฯ ฉันต้องการเล่นกับการดำเนินการเหล่านี้ในเบราว์เซอร์ ดูเหมือนว่า GeoScriptJS มีการอ้างอิงบางอย่าง

6
วิธีสร้างเครื่องหมายคลัสเตอร์เคลื่อนไหวใน OpenLayers / Leaflet
ฉันต้องการใช้ Leaflet เนื่องจากการเปลี่ยนที่ราบรื่นซึ่ง Openlayers ดูเหมือนว่าพวกเขาไม่สามารถจับคู่ได้ ฉันต้องการความสามารถในการจัดกลุ่มเครื่องหมายด้วยกลุ่มเครื่องหมายสไตล์ที่กำหนดเองโดยเฉพาะ ตัวอย่างที่ดีที่สุดซึ่งแสดงให้เห็นถึงสิ่งที่ฉันกำลังพยายามที่จะบรรลุสามารถพบได้ที่Redfin โปรดสังเกตว่าการวางเมาส์เหนือคลัสเตอร์จะมีภาพเคลื่อนไหวที่ลื่นและโดยคลิกที่เครื่องหมายกลุ่มจะแยกออกเป็นเอฟเฟกต์แบบเคลื่อนไหว เมื่อถึงระดับการย่อ / ขยายที่แต่ละจุดไม่ทับซ้อนกับความอดทนที่กำหนดเครื่องหมายที่แท้จริงจะแบ่งออกเป็นตำแหน่งที่ตั้งในแบบเคลื่อนไหว ฉันชอบที่จะรวมเอฟเฟกต์ที่คล้ายกันเข้ากับสิ่งเหล่านี้และจะขอบคุณคำแนะนำเกี่ยวกับวิธีการที่ดีที่สุดหรือตัวอย่างอื่น ๆ ที่คุณอาจจะทราบ หมายเหตุ: Redfin ดูเหมือนว่าจะใช้แฟลชที่ฉันต้องการอยู่ห่างจาก ในสถานการณ์ที่ดีที่สุดฉันต้องการบรรลุสิ่งนี้ผ่าน Javascript หากเป็นไปได้ แต่คิดว่าอาจต้องทำผ่าน HTML5 / canvas บางทีการใช้ p - Raphael.js หรือ d3.js ความคิดใด ๆ BTW - พบตัวอย่างนี้แต่ดูเหมือนจะใช้กับ Google แผนที่โดยเฉพาะ

4
ล้อเมาส์ของแผ่นพับซูมเมื่อคลิกบนแผนที่เท่านั้น
ฉันทำงานกับห้องสมุด Leaflet JavaScriptและแนบแผนที่ (กำลังทำงาน) กับเอกสาร HTML ของฉัน มันอยู่ตรงกลางของหน้าและเมื่อฉันเลื่อนลงด้วยล้อเลื่อนของเมาส์และมาถึงแผนที่มันจะซูมเข้าสู่แผนที่โดยอัตโนมัติ ฉันต้องการเลื่อนดูหน้าโดยไม่หยุดที่แผนที่ มีวิธีการเปิดใช้งานการซูมล้อหลังจากคลิกครั้งแรกบนแผนที่หรือไม่

1
จะเพิ่ม / ลบ Legend ด้วย Leaflet Layers Control ได้อย่างไร?
ฉันมีโฆษณาซ้อนทับสองรายการhttp://02d0c8c.netsolhost.com/dev/lcb_census_layers3.htmlที่สามารถเปิดและปิดได้ด้วยตัวควบคุมเลเยอร์ ฉันต้องการตำนานสำหรับแต่ละเลเยอร์เพื่อเปิด / ปิดพร้อมกับเลเยอร์ ฉันยังใหม่กับ JavaScript และใหม่สำหรับ Leaflet <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>Lake Champlain Basin Census Data</title> <link rel="stylesheet" href="http://cdn.leafletjs.com/leaflet-0.4.5/leaflet.css" /> <!--[if lte IE 8]> <link rel="stylesheet" href="http://cdn.leafletjs.com/leaflet-0.4.5/leaflet.ie.css" /> <![endif]--> <style> #map { width: 750px; height: 580px; } …

1
มีเอ็นจินการติดป้ายกำกับแผนที่จาวาสคริปต์หรือไม่
ไม่มีใครรู้ห้องสมุด javascript ที่มีฟังก์ชั่นที่จะอนุญาตให้ฉันสร้างป้ายกำกับสำหรับจุดบนแผนที่เพื่อให้ป้ายกำกับไม่ทับซ้อนกันและมีผู้นำเส้นเลือกเชื่อมต่อป้ายกำกับกับจุดได้หรือไม่ ฉันใช้ javascript API ของ Esri แต่ก็สนใจที่จะค้นหาอัลกอริธึมตรวจจับ / แก้ไขข้อขัดแย้งทั่วไปที่ฉันสามารถปรับใช้ได้

6
มีแผนที่บนเว็บที่ฝังอยู่ได้บ้าง?
โพสต์นี้เป็นวิกิพีเดียชุมชน แก้ไขคำตอบที่มีอยู่เพื่อปรับปรุงโพสต์นี้ ขณะนี้ไม่ยอมรับคำตอบใหม่ บางส่วนที่ฉันคุ้นเคย (ไม่เรียงลำดับ): Google Maps ( http://code.google.com/apis/maps/index.html ) Bing Maps ( http://www.microsoft.com/maps/developers/ ) Yahoo Maps ( http://developer.yahoo.com/maps/ ) MapQuest ( http://developer.mapquest.com/ ) OpenLayers ( http://openlayers.org/ ) WorldWind Java ( http://worldwind.arc.nasa.gov/java/ ) OpenMap ( http://www.openmap.org/ ) มีคนอื่นที่ฉันหายไปไหม

2
การแสดงผลแผ่นพับ TileMill เรียงลำดับผิด
ฉันนิ่งงันและการค้นหาจำนวนมากไม่ได้มีประโยชน์อะไรเลย ฉันอยู่ในขั้นตอนแรกของสิ่งที่ในที่สุดจะเป็นแผนที่ที่มีสามชั้นแรสเตอร์และสามชั้นของเครื่องหมาย (พร้อมการควบคุมเพื่อสลับระหว่าง rasters และข้อมูลที่เกี่ยวข้องกับป๊อปอัป / เคล็ดลับเครื่องมือสำหรับข้อมูล) แต่ฉันไม่สามารถ รับไทล์มิลล์เพื่อแสดงอย่างถูกต้อง (ฉันสร้าง rasters ใน QGIS วิ่งผ่าน GDAL เพื่อทำสีและฉายมันอีกครั้งแล้วนำไปใส่ใน TileMill) หากต้องการปัญญา: นั่นคือใน Chrome นี่คือ Safari: และนี่คือรหัสซึ่งดูไม่น่ากลัวสำหรับฉัน (ฉันได้แสดงความคิดเห็นทุกอย่างยกเว้นกระเบื้อง ณ จุดนี้ดังนั้นนั่นคือทั้งหมดที่ฉันได้รวมไว้): <html> <head> <title> - Leaflet demo</title> <script type='text/javascript' src="http://cdn.leafletjs.com/leaflet-0.7.3/leaflet.js"></script> <style type='text/css'> html, body{ width:100%; height: 100%, margin:0; padding:0; } #map{ width:700px; height:600px } img …

4
กำลังมองหาทางเลือกโอเพ่นซอร์สสำหรับเครื่องมือ StreetView ของ Google หรือไม่ [ปิด]
ปิด คำถามนี้จะต้องมีมากขึ้นมุ่งเน้น ไม่ยอมรับคำตอบในขณะนี้ ปิดให้บริการใน4 เดือนที่ผ่านมา คำตอบของคำถามนี้เป็นความพยายามของชุมชน แก้ไขคำตอบที่มีอยู่เพื่อปรับปรุงโพสต์นี้ ขณะนี้ไม่ยอมรับคำตอบหรือการโต้ตอบใหม่ ฉันกำลังมองหาเพื่อสร้างแอปพลิเคชันจาวาสคริปต์แบบโอเพนซอร์สโดยใช้ Leaflet หรือ OpenLayers มีวิธีใดบ้างที่จะใช้มุมมองแบบพาโนรามา (คล้ายกับ StreetView ของ Google) กับสิ่งเหล่านี้หรือ API แบบเปิดใด ๆ มุมมองแบบพาโนรามาของฉันจะกำหนดเองจากภาพถ่ายส่วนตัวดังนั้นฉันไม่จำเป็นต้องหยิบภาพพาโนรามาจากบริการที่มีอยู่ ฉันเข้าใจว่าเป็นไปได้ที่จะรวม Google StreetView เข้ากับแอปที่ไม่ใช่ของ Google แต่มีอะไรอีกบ้างไหมที่จะให้ฟังก์ชั่นที่คล้ายกันโดยไม่ต้องใช้ Google API

1
Leaflet: คุณใช้ removeLayer อย่างไร
นี่ทำให้ฉันเป็นบ้า ดูบทช่วยสอนของแผ่นพับสำหรับเพิ่มการควบคุมเลเยอร์ในแผนที่ของคุณ: L.Icon.Default.imagePath = "Scripts/images"; var mapUrl = 'http://{s}.tile.openstreetmap.se/hydda/full/{z}/{x}/{y}.png'; var secondMap = 'http://{s}.tile.osm.org/{z}/{x}/{y}.png'; var littleton = L.marker([39.61, -105.02]).bindPopup('This is Littleton, CO.'), denver = L.marker([39.74, -104.99]).bindPopup('This is Denver, CO.'), aurora = L.marker([39.73, -104.8]).bindPopup('This is Aurora, CO.'), golden = L.marker([39.77, -105.23]).bindPopup('This is Golden, CO.'); var cities = L.layerGroup([littleton, denver, aurora, golden]); var …

2
ทางเลือกของ OpenLayers ที่สนับสนุนคุณสมบัติฝั่งไคลเอ็นต์มากขึ้น [ปิด]
ปิด คำถามนี้จะต้องมีมากขึ้นมุ่งเน้น ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้มุ่งเน้นที่ปัญหาเดียวโดยแก้ไขโพสต์นี้ ปิดให้บริการใน2 ปีที่ผ่านมา ฉันกำลังพิจารณาสถาปัตยกรรมที่แตกต่างสำหรับระบบที่จะใช้การเรนเดอร์ฝั่งไคลเอ็นต์สำหรับคุณลักษณะจุดและต้องปราศจากปลั๊กอิน ฉันใช้แอพพลิเคชั่นนี้พัฒนาขึ้นเพื่อตอบคำถามนี้เพื่อทดสอบแล็ปท็อปของฉัน (ซึ่งค่อนข้างมีความสามารถ - quad-core 2.6 ghz cpu, หน่วยความจำ 4 gb, ไม่อยู่ภายใต้ภาระอื่น ๆ , Firefox 8) ด้วยคะแนนที่แตกต่างกัน เห็นได้ชัดว่ามันล่าช้าที่ 500 และเริ่มดิ้นรนกว่า 1,000 ฟีเจอร์ที่สร้างแบบสุ่มดูเหมือนจะไม่มีตัวจัดการเหตุการณ์ใด ๆ และใช้สัญลักษณ์เดียวกันทั้งหมด ฉันคาดว่าจะแสดงคุณลักษณะได้สูงสุด 1,000 รายการพร้อมด้วยสัญลักษณ์ที่แตกต่างกันสูงสุด 10 รายการทั้งหมดนี้มีตัวจัดการการคลิกและวางเมาส์และบนแพลตฟอร์มที่มีความสามารถน้อยกว่า ฉันหวังว่าจะได้ประสิทธิภาพฝั่งไคลเอ็นต์ที่ดีขึ้นโดยเฉพาะหลังจากเห็นตัวอย่าง GIS Cloud นี้ - ฉันรู้ว่ามันใช้งานได้แตกต่างกัน (ผ้าใบ HTML5 กับ SVG) แต่ความแตกต่างของประสิทธิภาพนั้นโดดเด่นจริงๆ คำถามสำคัญของฉัน (ถ้าคุณจะใจดี) คือ: …

5
ดัชนี Z ใน OpenLayers 3: การสั่งซื้อเลเยอร์ใน OL3
มีวิธีในการเปลี่ยนดัชนี Z ของเลเยอร์ใน OpenLayers3 เหมือนในเวอร์ชันเก่าหรือไม่? map.setLayerIndex(markers, 99); //set the marker layer to an arbitrarily high layer index ฉันต้องเปลี่ยนลำดับของเลเยอร์ตลอดการใช้แผนที่ ดังนั้นความเป็นไปได้เช่นการกำหนดดัชนีซีแบบนี้ไม่ได้ช่วยอะไร var geoLayer = new ol.layer.Vector({ source : new ol.source.GeoJSON({ projection : 'EPSG:900913', url : './myGeoJson.json' }), style : function(feature, resolution) { var text = resolution < 5000 ? feature.get('name') : ''; …

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