Мене надихнуло це зображення вікіпедії зі сторінки проектів меркатора, щоб зламати листівку. Ідея полягала в тому, щоб ваш курсор переміщав континент і це було б виправлено для проекції.
Дивіться наступний JSFiddle для зменшення стану;
http://jsfiddle.net/cantdutchthis/NrAEL/1/
Я трохи новий у світі проекцій, і хоча демонстрація працює досить добре для широти. Коли я порівнюю прямокутну і меркаторну проекцію у вікіпедії, у мене виникає враження, що зміщення проекції є лише на осі "y", коли ви порівнюєте ці два проекції.
У мене складається враження, що я не виправляю довготу завдяки першій картині вікіпедії. Я хотів би підтримати це, але не знаю, який найкращий спосіб зробити це.
В даний час я можу показати зміщення проекції Меркатора шляхом переміщення координат на курсор миші кожного разу, коли миша рухається;
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);
});
Який найкращий спосіб створити цей інтерактивний сюжет із листівками, також покаже ефект, як показано на wikipedia .
- Редагувати!
Більше прикладів див. У моєму блозі; http://koaning.com