Stamen Designs telah membuat aplikasi Hurricane Tracker yang indah yang menggunakan mode "gelap" dari latar belakang Bing Maps.
Ini sempurna untuk mengarahkan perhatian orang pada hamparan alih-alih latar belakang.
Apakah mungkin untuk mengakses versi "gelap" dari Bing Maps ini di dalam ArcGIS Server JS API?
arcgis-javascript-api
bing-maps
stamen
Stephen Lead
sumber
sumber
Jawaban:
Saya tidak tahu seluk beluk dari ArcGIS JS API tetapi saya dapat memberi tahu Anda bahwa Peta Badai MSNBC menggunakan Flash's ColorMatrixFilter dan ColorTransform untuk membalikkan dan menghilangkan desaturasi ubin Bing dengan cepat.
Saya cukup yakin itu tidak mungkin dengan JS dengan cara lintas-browser. Anda mungkin akan berhasil jika ubin Bing disajikan dengan izin lintas-domain (CORS) dan jika ArcGIS API memungkinkan Anda untuk membuat ubin menggunakan elemen kanvas HTML. Atau mungkin Anda bisa mem-proxy ubin dan memodifikasinya di sisi server, tetapi Anda harus memeriksa persyaratan Bing sebelum melakukannya, tentu saja.
sumber
Pembalikan dan desaturasi gambar tentu dimungkinkan di JS. Lihat perpustakaan Pixastic .
Dan kode spesifik: Balikkan dan Desaturate
Triknya adalah memotong gambar Bing Map di JS dan menerapkan dua efek padanya. Tentu mungkin, tetapi tidak mudah dicapai. Semua gambar yang Anda minati adalah div dengan id map_layerX, di mana X adalah ID lapisan (dalam kasus peta sederhana dengan hanya lapisan peta Bing, itu akan menjadi map_layer0). Itu dengan asumsi id div peta Anda adalah "map". Firebug akan menjadi teman Anda.
sumber
Berikut ini adalah aplikasi JS API yang ditampilkan pada Esri User Conference tahun ini yang mendemonstrasikan fungsi yang serupa: http://na.arcgis.com/UCdemo/traffic.html
Saya tidak yakin bagaimana atau apakah itu berfungsi di IE.
Ubin basemap diambil dari basemap ArcGIS Online Streets dan kemudian dikonversi menjadi grayscale. Ini juga merupakan aplikasi yang menggunakan Canvas yang dirujuk dalam slide 7 dari presentasi yang terhubung dengan Mike L.
sumber
(function(){ dojo.declare("GreyScaleVELayer", esri.virtualearth.VETiledLayer, { _tileLoadHandler: function(evt) { evt.currentTarget.style.filter = "gray invert"; this.inherited(arguments); } }); })();
Saya sebenarnya telah melihat contoh Esri dari mereka melakukan ini di salah satu Sesi Teknis selama UC. Sayangnya itu hanya gambar dalam slide jadi saya tidak bisa mengarahkan Anda ke kode sumber apa pun. Ikuti tautan di bawah ini dan lihat slide 7. Tampaknya mereka menggunakan Kanvas HTML5 untuk mengubah nada gambar.
http://proceedings.esri.com/library/userconf/proc11/uc/tw-ppts/tw_1463.ppt
Semoga ini bisa membantu Anda ke arah yang benar.
sumber
Pada tahun-tahun sejak saya memposting pertanyaan ini, Esri telah merilis versi mereka sendiri dari basemap abu-abu gelap yang dapat dengan mudah Anda tambahkan ke peta API API ArcGIS JS.
sumber