ฉันได้รับแรงบันดาลใจจากภาพวิกิพีเดียนี้จากหน้าโปรเจคเตอเรเตอร์เพื่อแฮกใบปลิว แนวคิดก็คือให้เคอร์เซอร์ของคุณเคลื่อนที่ไปตามทวีปและจะได้รับการแก้ไขสำหรับการฉายภาพ
ดู 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 green ) {
// shift the landmass to where the cursor is
var x = d.latlng.lng + green[i][0] + 40
var y = d.latlng.lat + green[i][1] - 80
circleCoords.push( [ x,y ] );
}
window.coords = plotCoords
window.geojsonFeature = {
"type": "Feature",
"properties": {},
"geometry": {
"type": "Polygon",
"coordinates": [coords]
}
};
myLayer.addData(geojsonFeature);
});
สิ่งที่จะเป็นวิธีที่ดีที่สุดที่จะมีพล็อตใบนี้แบบโต้ตอบยังแสดงให้เห็นผลกระทบที่ตามที่ปรากฏในวิกิพีเดีย
- แก้ไข!
สำหรับตัวอย่างเพิ่มเติมดูบล็อกของฉัน http://koaning.com