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

ใช้เมื่อเวอร์ชันที่คุณใช้ชุดเครื่องมือไคลเอ็นต์ OpenLayers JavaScript คือ 3 หรือใหม่กว่า

7
การสร้าง Vector Polygons ด้วยประสิทธิภาพการแสดงผลเช่น GISCloud?
ฉันกำลังมองหาวิธีแก้ปัญหาที่มั่นคงซึ่งจะทำให้ฉันสามารถสร้างแผนที่เว็บและรูปหลายเหลี่ยมเวกเตอร์ซ้อนทับโดยไม่ต้องโหลดข้อมูลดังกล่าวตลอดไปโดยมีเป้าหมายที่จะทำให้ฉันสามารถสร้างรูปหลายเหลี่ยมแต่ละสีในเหตุการณ์โฮเวอร์ เท่าที่ฉันทราบมี 3 ตัวเลือกเฉพาะเพื่อให้บรรลุสิ่งนี้ผ่านทั้งผ้าใบ SVG และแฟลช ดูเหมือนว่า Flash จะเป็นทางออกที่ดีที่สุดหากใช้กับ apple iphones / ipads เนื่องจากดูเหมือนว่าจะให้การเรนเดอร์ที่เร็วที่สุดและการแสดงผลที่สะอาดที่สุด Canvas ดูเหมือนจะเป็นตัวเลือกที่ดีที่สุดอันดับสอง แต่ใช้เวลานานมากถ้าคุณมีรูปหลายเหลี่ยมหลายร้อยรูปที่แสดงบนแผนที่ในขณะที่ SVG ใช้เวลาในการเรนเดอร์นานกว่า ฉันเกือบหมดหวังในการหาวิธีแก้ไขปัญหานี้แต่วันนี้ฉันเจอ บริษัท ที่ชื่อว่า GISCloud http://www.giscloud.com (ปัจจุบันอยู่ในรุ่นเบต้าพร้อมสมัครฟรี) บริษัท นี้มี SOMEHOW สามารถหาวิธีที่น่าทึ่งในการแสดงเวกเตอร์นับร้อยบนแผนที่ในเวลาจริง ฉันรู้สึกประหลาดใจกับวิธีการของพวกเขาและคำถามของฉันเกี่ยวกับชุมชนเกี่ยวข้องกับวิธีที่เราสามารถทำซ้ำวิธีการของพวกเขาสำหรับใช้กับเทคโนโลยีที่มีอยู่เช่นแผ่นพับ openlayers ขี้ผึ้ง ... ลองดูด้วยตัวคุณเองโดยดูการสาธิตที่น่าทึ่งนี้: http://www.giscloud.com/map/284/africa ตรวจสอบให้แน่ใจว่าคุณวางเมาส์เหนือรูปหลายเหลี่ยมบนหน้าและทดสอบการควบคุมการซูมเพื่อดูว่ารูปหลายเหลี่ยมเหล่านี้เป็นเวกเตอร์แน่นอน สิ่งที่ฉันสังเกตเห็นจากการดูคำขอด้วย firebug คือแผนที่กำลังร้องขอไฟล์ json เฉพาะ ดูเหมือนว่าขึ้นอยู่กับระดับการซูม / พื้นที่ที่มีไฟล์ json จำนวนมากที่ถูกร้องขอ ฉันควรพูดถึงที่นี่ว่าเมื่อ giscloud โหลดข้อมูลบนหน้าเว็บที่โฮเวอร์เหนือเวกเตอร์จะเปลี่ยนสีทันทีโดยไม่ต้องสร้างคำขอใหม่ ตัวอย่าง: …

6
จำนวนคุณสมบัติจุดสูงสุดในเลเยอร์เวกเตอร์ OpenLayers
จากประสบการณ์ของคุณคุณสามารถเพิ่มคุณสมบัติจุดจำนวนเท่าใดให้กับเลเยอร์เวกเตอร์ OpenLayers (OpenLayers.Layer.Vector ใหม่ ("เลเยอร์จุด")) ก่อนที่มันจะช้าลงอย่างผิดปกติ? กรณีการใช้งานของฉันคือการแสดงคะแนนจากตารางฐานข้อมูล ผู้ใช้สามารถเลือกกรอบเวลาที่ต้องการให้เห็นภาพ ดังนั้นผลลัพธ์อาจมีน้อยมากจนถึงอาจเกิด 100,000 คะแนน ฉันต้องการแนะนำขีด จำกัด ที่เหมาะสมและเตือนผู้ใช้ว่าข้อความค้นหาของเขาจะส่งคืนคุณลักษณะเพิ่มเติมหรือไม่

6
การสร้างบริการการทำแผนที่เว็บ / การเรียงแผนที่ขนาดเล็ก
ฉันกำลังมองหาวิธีขนาดเล็กและวิธีง่ายๆในการนำเสนอรูปร่างหลายเหลี่ยมแบบออนไลน์อย่างน้อยหนึ่งรูปแบบ (บนเว็บไซต์เทศบาลที่ไม่มีโครงสร้างพื้นฐานของเซิร์ฟเวอร์แผนที่ที่มีอยู่เพื่อความแม่นยำ) ตอนนี้ฉันทำงานทั้งหมดกับ QGIS และฉันต้องการที่จะคงโอเพนซอร์ซทั้งหมดไว้ (ไม่มีงบประมาณเหลือสำหรับการลงทุนซอฟต์แวร์ขนาดใหญ่) การค้นคว้าหัวข้อนี้ส่งผลให้มีแนวทางที่เป็นไปได้จำนวนมากและทำให้ฉันค่อนข้างสับสน สิ่งที่ฉันกำลังมองหาคือ ความสามารถในการแสดงรูปหลายเหลี่ยมที่จัดหมวดหมู่ในแผนที่เฉพาะเรื่อง (- ถ้าเป็นไปได้จะเป็นการดีถ้าได้รับป๊อปอัปหรือสามารถดึงข้อมูลแอททริบิวได้ ฉันต้องการทำงานส่วนใหญ่ (จัดแต่งทรงผมและอื่น ๆ ) ใน QGIS OSM เป็นแผนที่ฐานจะดีอย่างสมบูรณ์ ป่านนี้แผนที่แบบกำหนดเองบนแผนที่พื้นฐาน OSM ดูเหมือนว่าฉันกำลังมองหา (หรือมีทางออกที่ดีกว่า)? อะไรจะเป็นวิธีที่ดีที่สุดในการสร้างกระเบื้องเหล่านี้

7
ตัวเลือกสำหรับการแสดงผลเวกเตอร์ PostGIS ใน OpenLayers
ฉันใหม่กับการทำแผนที่เว็บดังนั้นคำถามนี้อาจผิดไปเล็กน้อย ฉันต้องการมีเว็บอินเตอร์เฟสที่ใช้งานง่ายมากโดยใช้ OpenLayers (หรือแม้แต่ Google Maps หากทำได้ง่ายกว่า) ซึ่งสามารถแสดงจำนวนจุดและตารางรูปหลายเหลี่ยมที่อยู่ใน PostGIS ฉันต้องการสิ่งนี้ให้เป็นเรื่องง่าย (และการบำรุงรักษาต่ำ) ที่เป็นไปได้: ฉันไม่ต้องการสร้างกระเบื้อง (เว้นแต่จะมีเหตุผลที่ดีมาก) หรือมีมิดเดิ้ลเลเยอร์ที่ซับซ้อนและซับซ้อน ประสิทธิภาพไม่จำเป็นต้องเป็นเรื่องมหัศจรรย์เนื่องจากเป็นเพื่อการใช้งานภายในและไม่จำเป็นต้องเพิ่มขนาดให้กับผู้ใช้ที่ใช้งานพร้อมกัน เลเยอร์ของเวกเตอร์เลเยอร์นั้นมีความสำคัญน้อยที่สุด เครื่องมือโอเพ่นซอร์สเป็นที่ต้องการอย่างมากเนื่องจากฉันแทบไม่มีงบประมาณสำหรับเรื่องนี้ อะไรคือแนวทางที่แนะนำสำหรับสิ่งนี้?

5
ใช้ layer loadstart และ loadend events ใน OpenLayers 3 หรือไม่
OpenLayers 2 มีเลเยอร์กิจกรรมเหล่านี้ "loadstart & loadend" สิ่งที่เทียบเท่ากับพวกเขาใน OpenLayers 3 ในขณะที่เลเยอร์เวกเตอร์โหลดและแสดงผลฉันต้องแสดงไอคอนการโหลด

1
เพิ่มคุณสมบัติด้วยตนเองในเลเยอร์เวกเตอร์ใน ol3
ฉันกำลังพยายามเพิ่มเลเยอร์ด้วยตนเองในเลเยอร์เวกเตอร์ด้วย javascript ฉันไม่สามารถระบุได้ว่าเหตุใดจึงล้มเหลว: http://jsfiddle.net/Kieveli/f4t6n6v1/4/ ฉันได้ลองใช้พิกัดที่มีเหตุผลเช่น 16,22 และที่ใหญ่กว่าเพื่อจับคู่ค่า xy ของมุมมอง ฉันได้รับข้อผิดพลาด javascript จาก ol3: TypeError: bQ ไม่ใช่ฟังก์ชั่น HTML: <div id="map" class="map"></div> javascript: var vectorSource = new ol.source.Vector({}); var map = new ol.Map({ layers: [ new ol.layer.Tile({ source: new ol.source.MapQuest({layer: 'sat'}) }), new ol.layer.Vector({ source: vectorSource }) ], target: 'map', view: new …

4
Openlayers 3 Max Extent
ฉันต้องการ จำกัด ตำแหน่งที่ผู้ใช้สามารถเลื่อนบนแผนที่ได้ แต่ฉันไม่สามารถหาแหล่งข้อมูลใด ๆ ที่บอกวิธีตั้งค่าขอบเขตสูงสุดของมุมมองแผนที่ใน OpenLayers 3 ฉันรู้ว่ามีวิธีแก้ปัญหาใน OpenLayers 2 หรือไม่ เป็นไปได้ในเวอร์ชั่นใหม่

1
หยุดการรีเฟรชอัตโนมัติของเลเยอร์ WMS ใน OpenLayers 3 หรือไม่
ฉันมีแอปพลิเคชั่นที่ต้องทำการร้องขอ HTTP (ซึ่งจะจัดการการแปลงแผนที่) ก่อนดึงไฟล์ WMS จากเซิร์ฟเวอร์ มีวิธีหยุด TileWMS รีเฟรชอัตโนมัติหลังจากลากแผนที่หรือไม่ การตั้งค่าที่มองไม่เห็นหรือลบและเพิ่มเลเยอร์จะใช้งานได้ แต่ฉันไม่ต้องการให้เลเยอร์หายไปในขณะที่ดำเนินการตามคำขอ HTTP ฉันพยายามแล้วsetUrl('')แต่เลเยอร์ก็จะหายไปเช่นกัน ฉันพยายามอ่านซอร์สโค้ดของ OpenLayers เพื่อกำหนดคุณสมบัติที่จะตรวจสอบก่อนดำเนินการตามคำขอ แต่ฉันไม่พบรหัสที่ร้องขอ
14 wms  openlayers 

1
วิธีการปรับขนาดคุณสมบัติและป้องกันไม่ให้ปรับขนาดเมื่อซูมใน OpenLayers 3
ฉันได้เริ่มต้นแผนที่ OpenLayers 3 ที่กำหนดเอง (ใช้เพื่อแสดงบ้านเพื่อขายในพื้นที่ใกล้เคียง) พร้อมรูปภาพเป็นแผนที่ จากนั้นฉันสร้างคุณลักษณะและเลเยอร์เพิ่มเติมแบบไดนามิกสำหรับแต่ละบ้าน (จุดยึดของคุณลักษณะแต่ละรายการตั้งอยู่กึ่งกลางของภาพ) ฉันพยายามใช้sizeคุณสมบัติเมื่อเริ่มต้นคุณสมบัติ แต่สิ่งที่ทำคือครอบตัดรูปภาพแทนที่จะปรับขนาด ฉันคิดว่าฉันได้เห็นresizeฟังก์ชั่นสำหรับเลเยอร์บางแห่งใน OL2 แต่ฉันไม่พบมันใน OL3 ... ฟังก์ชั่นแบบนั้นจะได้ผลลัพธ์ตามที่ฉันต้องการหรือไม่? นอกจากนี้ยังมีปัญหาที่ฟีเจอร์ปรับขนาดใหญ่เกินไปเมื่อซูมออกจากแผนที่และลดขนาดเล็กเกินไปเมื่อซูมเข้าไปในแผนที่จำนวนมาก มีวิธีในการระบุพิกัดของคุณสมบัติจากนั้นทำระยะขอบที่มองไม่เห็น / การขยายรอบบางอย่างเพื่อป้องกันไม่ให้มันใหญ่หรือเล็กเกินไป (ขนาดคงที่บางประเภท)? นี่คือพฤติกรรมที่เกิดขึ้นจริงของคุณสมบัติ (คุณลักษณะที่เห็นที่นี่คือบ้านสีดำ): - ถัดไป: ขนาดที่สมบูรณ์แบบบ้านควรมีขนาดเล็กลงเมื่อซูมออกแม้ว่า (ดังที่เห็นในภาพแรก) - บ้านควรใหญ่กว่าแทนที่จะลดขนาดลงอีกในภาพสุดท้ายนี้ .
14 openlayers 

3
เปลี่ยนศูนย์มุมมอง OpenLayers 3
ฉันใช้ OpenLayers 3 เพื่อโต้ตอบกับบางแผนที่ ฉันก่อนประกาศแผนที่ของฉัน: map = new ol.Map({ target: 'map', layers: [ new ol.layer.Tile({ source: new ol.source.OSM() }) ], view: new ol.View({ center: [0, 0], zoom: 2 }) }); ฉันเป็นเหตุการณ์ที่ก่อให้เกิดการกระทำเพื่อเปลี่ยนมุมมองแผนที่ของฉัน วิธีนี้ (พิกัดของฉันอยู่ในEPSG:4326รูปแบบ): function CenterMap(lat, long) { console.log("Lat: " + lat + " Long: " + long); map.setView(new ol.View({ center: …

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') : ''; …

4
ไม่มี LayerSwitcher ใน OpenLayers3
ฉันสงสัยว่ามีการLayerSwitcherควบคุมใน OpenLayers 3 หรือไม่? ฉันอ่าน ol3 ว่าเป็นการเขียนที่สมบูรณ์ แต่ฉันไม่สามารถดูเหมือนจะหาเทียบเท่าLayerSwitcherจากhttp://openlayers.org/en/latest/apidoc/ol.control.html ฉันไม่เห็นวิธีที่สามารถเปิดและปิดเลเยอร์โดยไม่มีการควบคุมนี้ จะถูกLayerSwitcherเปลี่ยนชื่อเป็นอย่างอื่นหายไปหรือเป็นเอกสารที่ไม่สมบูรณ์? ถ้า OpenLayers3 ไม่มีLayerSwitcherใครรู้ตัวอย่างที่ใช้การควบคุมแบบกำหนดเองเช่น LayerSwitcher เก่าหรือไม่

6
เทียบเท่ากับ layer.redraw (จริง) ใน OpenLayers 3
ฉันมีเลเยอร์ geojson ในแอป OL3 ของฉันซึ่งฉันต้องการวาดใหม่ทุก 5 วินาที (เพื่อแสดงการเคลื่อนไหวบนแผนที่) ฉันต้องทำอย่างไร ? ไม่พบสิ่งที่เทียบเท่ากับ Layer.redraw ()
13 openlayers 

1
เส้นประใน OL3?
ฉันรู้ว่าLine Dash ไม่ทำงาน OL3 (Openlayers 3)ถูกถามก่อนหน้านี้ แต่วิธีแก้ปัญหาที่เสนอไม่ทำงาน รหัสของฉันคือ: var calculateStyle= new ol.style.Style({ fill: new ol.style.Fill({ color: [255, 255, 255, 0.6], opacity: 0.3 }), stroke: new ol.style.Stroke({ color: [0, 153, 255, 1], linedash: [40,40], width: 3 }) }); ฉันลองทั้งสอง[4,4]และ[40,40]แนะนำในคำถามที่เชื่อมโยง แต่มันไม่ทำงาน

4
โฮสต์ GeoServer + Openlayers เว็บแอพพลิเคชั่นแผนที่บนอินเทอร์เน็ต? [ปิด]
ปิด คำถามนี้จะต้องมีมากขึ้นมุ่งเน้น ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้มุ่งเน้นที่ปัญหาเดียวโดยแก้ไขโพสต์นี้ ปิดให้บริการใน4 ปีที่แล้ว ฉันสร้างต้นแบบแอปพลิเคชั่นการทำแผนที่เว็บโดยใช้ GeoServer (ทำงานบน Tomcat เป็น servlet), Openlayers และ PostGIS เนื่องจากมันเป็นต้นแบบในเวลานั้นฉันไม่ได้สนใจเรื่องโฮสติ้งของมัน มันทำงานได้ดีบน localhost (แล็ปท็อป) ของฉัน: 8080 ตอนนี้เป็นส่วนหนึ่งของงานของฉันฉันได้รับการร้องขอให้พัฒนาแอพพลิเคชั่นที่คล้ายกัน แต่คราวนี้มันต้องไปบนเว็บเช่นคน x สามารถเข้าถึงได้ผ่าน www เอเจนซี่ที่ฉันทำงานมีเว็บไซต์ที่ทำงานอยู่ แต่พวกเขาต้องการให้มันแยกจากของตัวเองโดยแยกออกจากเว็บไซต์ นี่คือคำถามของฉัน: อะไรคือขั้นตอน / ตัวเลือกที่ต้องปฏิบัติเพื่อโฮสต์แอปพลิเคชันการจับคู่เว็บบนเว็บเพื่อให้คนที่อยู่นอกอินทราเน็ตของเอเจนซี่หรือในกรณีของฉันคนอื่นที่ไม่ใช่ localhost สามารถเข้าถึงได้เช่นกัน (พิจารณาว่าฉันมีสิ่งหนึ่งที่ใช้งานได้และสามารถเข้าถึงได้ผ่าน localhost เท่านั้นและตอนนี้ฉันต้องการให้คนอื่นเข้าถึงได้บนเครื่องของพวกเขาด้วย) ถ้าเป็นเช่นนั้นฉันจะใช้สิ่งนี้ได้อย่างไร ในกรณีที่หน่วยงานตัดสินใจที่จะให้มันเป็นส่วนหนึ่งของเว็บไซต์ของพวกเขาในอนาคต ฉันได้อ่านโพสต์และคำตอบที่นี่ที่เกี่ยวข้องอย่างใด แต่ฉันสับสนดังนั้นฉันหวังว่าบางคนสามารถช่วยตอบคำถามเฉพาะของฉัน

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