国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

Jadual Kandungan
Menambah data JSON dan JavaScript
Peta boleh diperbaiki dengan menambah beberapa interaktiviti. Kami mahu ia menunjukkan nilai penduduk apabila tetikus diletakkan di kawasan.
Soalan Lazim (Soalan Lazim) pada Peta Geo Dinamik dengan SVG dan JQuery
Bagaimana saya boleh membuat peta SVG saya responsif?
Bagaimana saya boleh membuat peta svg tersuai? Adobe Illustrator atau Inkscape, dan kemudian mengeksportnya sebagai fail SVG. Anda kemudian boleh menggunakan JavaScript atau JQuery untuk memanipulasi elemen SVG dan menambah interaktiviti. Perlu diingat bahawa membuat peta tersuai memerlukan pemahaman yang baik mengenai data SVG dan geografi.

Kenapa kawasan peta SVG saya tidak memaparkan dengan betul?

Bolehkah saya menggunakan peta SVG dalam semua pelayar? Safari, dan tepi. Walau bagaimanapun, versi lama Internet Explorer (IE8 dan ke bawah) tidak menyokong SVG. Jika anda perlu menyokong penyemak imbas ini, anda boleh menggunakan polyfill seperti Rapha?l atau menukar SVG anda ke format lain seperti VML. Peta untuk prestasi boleh melibatkan beberapa teknik. Ini termasuk meminimumkan saiz fail SVG anda, menggunakan CSS untuk gaya dan bukannya atribut sebaris, dan menggunakan JavaScript dengan cekap. Anda juga boleh menggunakan alat seperti SVGO untuk mengoptimumkan fail SVG anda.
Rumah hujung hadapan web tutorial js Peta Geo Dinamik dengan SVG dan JQuery

Peta Geo Dinamik dengan SVG dan JQuery

Feb 21, 2025 pm 12:13 PM

Peta Geo Dinamik dengan SVG dan JQuery

Apabila saya perlu membuat carta, pilihan pertama saya ialah carta Google atau perpustakaan yang berdedikasi. Kadang -kadang, saya memerlukan beberapa ciri khusus yang saya tidak dapati di sana. Dalam kes ini, imej SVG terbukti sangat berharga.

Baru -baru ini, saya terpaksa membina halaman laporan yang dapat menunjukkan peta Itali di mana setiap rantau mempunyai nada warna yang berbeza mengikut beberapa nilai yang diambil dari pangkalan data. Terima kasih kepada SVG, tugas ini sangat mudah. ??

Takeaways Key

    imej SVG boleh digunakan untuk membuat peta GEO dinamik dengan nada warna yang berbeza untuk setiap rantau, berdasarkan data yang diambil dari pangkalan data. Ini dicapai dengan melukis setiap rantau sebagai objek tunggal dengan nama tahap yang unik yang sepadan dengan kod yang digunakan dalam pangkalan data untuk mengenal pasti datanya.
  • Peta boleh dibuat interaktif dengan CSS dan jQuery, yang membolehkannya memaparkan data tertentu, seperti nilai populasi, apabila tetikus melayang di rantau. Ini dicapai dengan menambahkan peraturan CSS untuk G: hover dan kelas info_panel baru untuk gaya kotak maklumat, kemudian mengubah suai sebelumnya untuk kitaran, menambah .data () untuk menyimpan maklumat yang akan dipaparkan pada hover.
  • Peta SVG boleh dibuat responsif, digunakan dengan perpustakaan JavaScript yang lain, digunakan untuk visualisasi data, dan juga animasi. Mereka juga boleh disesuaikan dan dioptimumkan untuk prestasi. Walau bagaimanapun, mewujudkan peta tersuai memerlukan pemahaman yang baik mengenai data SVG dan geografi, dan animasi kompleks boleh memberi kesan kepada prestasi.
Membuat peta SVG dalam ilustrator

Pertama, saya menarik peta Itali dengan ilustrator:

Peta Geo Dinamik dengan SVG dan JQuery Setiap rantau ditarik sebagai objek tunggal, dan masing -masing mempunyai tahap sendiri, dengan nama yang sepadan dengan kod yang digunakan dalam pangkalan data untuk mengenal pasti data relatifnya (contohnya: "TOS" untuk Tuscany).

Akhirnya peta mesti disimpan sebagai fail SVG. Anda perlu memberi perhatian untuk menetapkan pilihan "CSS Property" kepada "Elemen Gaya" dalam Illustrator, seperti yang ditunjukkan di bawah:

Membuka fail yang baru dibuat, anda akan melihatnya mengandungi satu set tag G yang ID yang sepadan dengan nama tahap ilustrator. Peta Geo Dinamik dengan SVG dan JQuery

membina fail html kami

Setiap item yang terkandung dalam tag G mempunyai kelas ST0 supaya strok dan mengisi sifat CSS dapat diberikan kepada mereka:

Jika anda cuba menukar nilai tersebut, peta akan berubah dengan segera:

Peta Geo Dinamik dengan SVG dan JQuery

Sekarang, kita boleh menggunakan kod itu untuk membina fail HTML kami dengan SVG sebaris seperti yang ditunjukkan di bawah (kod telah dipendekkan untuk kemudahan):

<span><span><!doctype html></span>
</span><span><span><span><html</span>></span>
</span><span><span><span><head</span>></span>
</span>    <span><span><span><meta</span> charset<span>="UTF-8"</span>></span>
</span>    <span><span><span><title</span>></span>Map Sample<span><span></title</span>></span>
</span>    <span><span><span><style</span> type<span>="text/css"</span> media<span>="all"</span>></span><span>
</span></span><span><span>        <span><span>.map svg</span> {
</span></span></span><span><span>            <span>height: auto;
</span></span></span><span><span>            <span>width: 350px;
</span></span></span><span><span>        <span>}
</span></span></span><span><span>        <span><span>.map g</span> {
</span></span></span><span><span>            <span>fill: #ccc;
</span></span></span><span><span>            <span>stroke: #333;
</span></span></span><span><span>            <span>stroke-width: 1;
</span></span></span><span><span>        <span>}
</span></span></span><span><span>    </span><span><span></style</span>></span>
</span><span><span><span></head</span>></span>
</span><span><span><span><body</span>></span>
</span>    <span><span><span><div</span> class<span>="map"</span>></span>
</span>        <span><span><span><svg</span> version<span>="1.1"</span> id<span>="Livello_1"</span> xmlns<span>="https://www.w3.org/2000/svg"</span> <span>xmlns:xlink</span><span>="https://www.w3.org/1999/xlink"</span> x<span>="0px"</span> y<span>="0px"</span> viewBox<span>="0 -21.6 761 919"</span> <span>style<span>="<span>enable-background:new 0 -21.6 761 919;</span>"</span></span> <span>xml:space</span><span>="preserve"</span>></span>
</span>            <span><span><span><g</span> id<span>="sar"</span>></span>
</span>                <span><span><span><polygon</span> class<span>="st0"</span> points<span>="193,463 ...    "</span>/></span>
</span>            <span><span><span></g</span>></span>
</span>
            <span><!-- etc ... -->
</span>
        <span><span><span></svg</span>></span>
</span>    <span><span><span></div</span>></span>
</span><span><span><span></body</span>></span>
</span><span><span><span></html</span>></span></span>

Anda dapat melihat bahawa atribut gaya di dalam tag SVG telah dipadamkan dan digantikan oleh yang baru yang terletak di dalam kepala dokumen; Semua elemen G pada mulanya dipenuhi dengan kelabu muda.

Kelas ST0 tidak lagi digunakan (anda boleh mengeluarkannya dari kod SVG anda) dan ia telah digantikan oleh pemilih .map g. Bagaimanapun, ini tidak wajib, anda boleh menggunakan pemilih CSS yang anda suka.

Langkah kedua terdiri daripada mengikat peta kami ke beberapa data yang diambil dari pangkalan data kami. Dalam contoh ini, matlamat kami adalah untuk melukis peta mengikut populasi setiap rantau.

Menambah data JSON dan JavaScript

Data diambil dalam format JSON dan disisipkan secara langsung di dalam fail HTML kami (di dunia nyata, tentu saja, data akan diambil menggunakan AJAX atau serupa).

sekarang halaman kami akan mengandungi JSON dalam fail JavaScript kami yang kelihatan seperti ini (sekali lagi, disingkat):

<span>var regions=[
</span>    <span>{
</span>        <span>"region_name": "Lombardia",
</span>        <span>"region_code": "lom",
</span>        <span>"population": 9794525
</span>    <span>},
</span>    <span>{
</span>        <span>"region_name": "Campania",
</span>        <span>"region_code": "cam",
</span>        <span>"population": 5769750
</span>    <span>},
</span>
    <span>// etc ...
</span>
<span>];</span>

Selepas itu, warna dipilih (dalam kes ini, #0B68AA), dan kami memberikannya ke rantau ini dengan nilai penduduk tertinggi. Kawasan lain akan berwarna dengan nada warna utama mengikut peratusan penduduknya.

Seterusnya kita boleh menambah beberapa JavaScript.

Pertama sekali, kita perlu menentukan rantau ini dengan nilai penduduk maksimum. Ini boleh dilakukan dengan beberapa baris kod.

Setelah array sementara yang mengandungi nilai populasi telah dibina, kita boleh menggunakan kaedah matematik.

<span>var temp_array= regions.map( function( item ) {
</span>    <span>return item.population;
</span><span>});
</span>
<span>var highest_value = Math.max.apply( Math, temp_array );</span>
maka kita boleh menembusi semua item rantau dan memohon kepada mereka peratusan ketelusan mengikut pengiraan

populasi / nilai maksimum (dengan sedikit bantuan dari jQuery):

<span>$(function() {
</span>  <span>for(i=0; i < regions.length; i++) {
</span>    <span>$('#'+ regions[i].region_code).css({'fill': 'rgba(11, 104, 170,' 
</span>     <span>+ regions[i].population/highest_value 
</span>     <span>+ ')'});
</span>    <span>}
</span><span>});</span>
ini hasilnya:

Peta Geo Dinamik dengan SVG dan JQuery Menambah interaktiviti dengan CSS dan JQuery

Peta boleh diperbaiki dengan menambah beberapa interaktiviti. Kami mahu ia menunjukkan nilai penduduk apabila tetikus diletakkan di kawasan.

Pertama, kami menambah peraturan CSS untuk G: Hover dan kelas info_panel baru untuk gaya kotak maklumat kami:

Pengubahsuaian penting dalam .map g: hover diperlukan untuk memperbaiki kekhususan
<span><span>.map g:hover</span> {
</span>  <span>fill: #fc0 !important;
</span>  <span>cursor: help;
</span><span>}
</span>
<span><span>.info_panel</span> {
</span>  <span>background-color: <span>rgba(255,255,255, .7)</span>;
</span>  <span>padding: .3em;
</span>  <span>font-size: .8em;
</span>  <span>font-family: Helvetica, Arial, sans-serif;
</span>  <span>position: absolute;
</span><span>}
</span>
<span><span>.info_panel::first-line</span> {
</span>   <span>font-weight: bold;   
</span><span>}</span>

peraturan pengisian, jika tidak, ia akan dilangkau dengan disuntik CSS. maka kita perlu mengubah suai sebelumnya untuk kitaran, menambah .data () untuk menyimpan maklumat yang akan dipaparkan pada hover:

Akhirnya, kami dapat menyelesaikan skrip kami dengan menambahkan beberapa kesan tetikus:

<span>for (i = 0; i < regions.length; i++) {
</span>    <span>$('#'+ regions[i].region_code)
</span>    <span>.css({'fill': 'rgba(11, 104, 170,' 
</span>         <span>+ regions[i].population/highest_value 
</span>         <span>+')'}).data('region', regions[i]);
</span><span>}</span>

Bagaimana ia berfungsi:

  • Pertama, dengan Mouseover, kami membina div yang mengandungi maklumat untuk dipaparkan (nama dan populasi rantau). Div dibina setiap kali tetikus melayang di atas elemen G dan dilampirkan ke badan dokumen;
  • Mouseleave menghilangkan div apabila kursor berada di luar rantau yang melayang;
  • kaedah terakhir, mousemove, mengambil koordinat tetikus dan menyerahkannya kepada div yang dihasilkan.

inilah hasil akhir pada codepen:

lihat pena kdhfh oleh sitepoint (@sitePoint) pada codepen.

Soalan Lazim (Soalan Lazim) pada Peta Geo Dinamik dengan SVG dan JQuery

Bagaimana saya boleh membuat peta SVG saya responsif?

Membuat responsif peta SVG anda melibatkan penetapan lebar dan ketinggian SVG hingga 100% dan memastikan atribut viewBox ditetapkan dengan betul. Atribut Viewbox membolehkan anda menentukan bahawa kawasan tertentu peta dapat dilihat dan nisbah aspek dipelihara apabila meningkat atau turun. Anda juga boleh menggunakan pertanyaan media untuk menyesuaikan saiz dan kedudukan peta berdasarkan saiz skrin. digunakan dengan perpustakaan JavaScript lain seperti D3.js, Raphael, dan Snap.svg. Perpustakaan ini menyediakan fungsi tambahan untuk mewujudkan dan memanipulasi grafik SVG. Walau bagaimanapun, pelaksanaan mungkin berbeza dari jQuery, jadi anda perlu merujuk kepada dokumentasi perpustakaan masing -masing. Peta SVG menggunakan JavaScript atau JQuery. Ini termasuk ciri -ciri seperti tooltip, zooming, panning, dan kawasan yang boleh diklik. Sebagai contoh, anda boleh menggunakan acara 'Mouseover' dan 'Mouseout' untuk memaparkan petua, dan acara 'klik' untuk membuat kawasan diklik. ??> Peta SVG boleh digunakan untuk visualisasi data dengan mewarna kawasan berdasarkan nilai data, teknik yang dikenali sebagai pemetaan choropleth. Anda boleh menggunakan JavaScript untuk mengikat data ke elemen SVG anda dan menggunakan skala warna. Perpustakaan seperti D3.js menyediakan fungsi terbina dalam untuk membuat peta choropleth.

Bagaimana saya boleh membuat peta svg tersuai? Adobe Illustrator atau Inkscape, dan kemudian mengeksportnya sebagai fail SVG. Anda kemudian boleh menggunakan JavaScript atau JQuery untuk memanipulasi elemen SVG dan menambah interaktiviti. Perlu diingat bahawa membuat peta tersuai memerlukan pemahaman yang baik mengenai data SVG dan geografi.

Kenapa kawasan peta SVG saya tidak memaparkan dengan betul?

Jika kawasan peta SVG anda tidak dipaparkan dengan betul, ia mungkin disebabkan oleh beberapa sebab. Fail SVG mungkin tidak diformatkan dengan betul, atau mungkin terdapat ralat dalam kod JavaScript anda. Semak konsol untuk sebarang mesej ralat dan pastikan fail SVG anda sah.

Bolehkah saya menggunakan peta SVG dalam semua pelayar? Safari, dan tepi. Walau bagaimanapun, versi lama Internet Explorer (IE8 dan ke bawah) tidak menyokong SVG. Jika anda perlu menyokong penyemak imbas ini, anda boleh menggunakan polyfill seperti Rapha?l atau menukar SVG anda ke format lain seperti VML. Peta untuk prestasi boleh melibatkan beberapa teknik. Ini termasuk meminimumkan saiz fail SVG anda, menggunakan CSS untuk gaya dan bukannya atribut sebaris, dan menggunakan JavaScript dengan cekap. Anda juga boleh menggunakan alat seperti SVGO untuk mengoptimumkan fail SVG anda.

Bagaimana saya boleh menghidupkan peta SVG saya? Ini termasuk menghidupkan warna, bentuk, dan kedudukan elemen SVG anda. Perlu diingat bahawa animasi yang kompleks boleh memberi kesan kepada prestasi, jadi gunakannya dengan berhati -hati. SVG disokong dalam pandangan web Android dan iOS, dan boleh digunakan dalam aplikasi mudah alih hibrid menggunakan rangka kerja seperti Cordova atau React Native. Walau bagaimanapun, perlu diingat bahawa prestasi boleh menjadi masalah pada peranti lama atau peta kompleks.

Atas ialah kandungan terperinci Peta Geo Dinamik dengan SVG dan JQuery. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

Video Face Swap

Video Face Swap

Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Java vs JavaScript: Membersihkan kekeliruan Java vs JavaScript: Membersihkan kekeliruan Jun 20, 2025 am 12:27 AM

Java dan JavaScript adalah bahasa pengaturcaraan yang berbeza, masing -masing sesuai untuk senario aplikasi yang berbeza. Java digunakan untuk pembangunan aplikasi perusahaan dan mudah alih yang besar, sementara JavaScript digunakan terutamanya untuk pembangunan laman web.

Komen JavaScript: Penjelasan ringkas Komen JavaScript: Penjelasan ringkas Jun 19, 2025 am 12:40 AM

JavaScriptcommentsareessentialformaintaining,reading,andguidingcodeexecution.1)Single-linecommentsareusedforquickexplanations.2)Multi-linecommentsexplaincomplexlogicorprovidedetaileddocumentation.3)Inlinecommentsclarifyspecificpartsofcode.Bestpractic

Bagaimana untuk bekerja dengan tarikh dan masa di JS? Bagaimana untuk bekerja dengan tarikh dan masa di JS? Jul 01, 2025 am 01:27 AM

Titik berikut harus diperhatikan apabila tarikh pemprosesan dan masa di JavaScript: 1. Terdapat banyak cara untuk membuat objek tarikh. Adalah disyorkan untuk menggunakan rentetan format ISO untuk memastikan keserasian; 2. Dapatkan dan tetapkan maklumat masa boleh diperoleh dan tetapkan kaedah, dan ambil perhatian bahawa bulan bermula dari 0; 3. Tarikh pemformatan secara manual memerlukan rentetan, dan perpustakaan pihak ketiga juga boleh digunakan; 4. Adalah disyorkan untuk menggunakan perpustakaan yang menyokong zon masa, seperti Luxon. Menguasai perkara -perkara utama ini secara berkesan dapat mengelakkan kesilapan yang sama.

JavaScript vs Java: Perbandingan Komprehensif untuk Pemaju JavaScript vs Java: Perbandingan Komprehensif untuk Pemaju Jun 20, 2025 am 12:21 AM

JavaScriptispreferredforwebdevelopment, whersjavaisbetterforlarge-scalebackendsystemsandandroidapps.1) javascriptexcelsinceleatinginteractiveWebexperienceswithitsdynamicnatureanddommanipulation.2) javaoffersstrongyblectionandobjection

Kenapa anda harus meletakkan tag  di bahagian bawah ? Kenapa anda harus meletakkan tag di bahagian bawah ? Jul 02, 2025 am 01:22 AM

PlacingtagsatthebottomofablogpostorwebpageservespracticalpurposesforSEO,userexperience,anddesign.1.IthelpswithSEObyallowingsearchenginestoaccesskeyword-relevanttagswithoutclutteringthemaincontent.2.Itimprovesuserexperiencebykeepingthefocusonthearticl

JavaScript: Meneroka jenis data untuk pengekodan yang cekap JavaScript: Meneroka jenis data untuk pengekodan yang cekap Jun 20, 2025 am 12:46 AM

JavascripthassevenfundamentalDatypes: nombor, rentetan, boolean, undefined, null, objek, andsymbol.1) numberuseadouble-precisionformat, bergunaforwidevaluangesbutbecautiouswithfloating-pointarithmetic.2)

Apakah peristiwa yang menggelegak dan menangkap di Dom? Apakah peristiwa yang menggelegak dan menangkap di Dom? Jul 02, 2025 am 01:19 AM

Penangkapan dan gelembung acara adalah dua peringkat penyebaran acara di Dom. Tangkap adalah dari lapisan atas ke elemen sasaran, dan gelembung adalah dari elemen sasaran ke lapisan atas. 1. Penangkapan acara dilaksanakan dengan menetapkan parameter useCapture addeventlistener kepada benar; 2. Bubble acara adalah tingkah laku lalai, useCapture ditetapkan kepada palsu atau ditinggalkan; 3. Penyebaran acara boleh digunakan untuk mencegah penyebaran acara; 4. Acara menggelegak menyokong delegasi acara untuk meningkatkan kecekapan pemprosesan kandungan dinamik; 5. Penangkapan boleh digunakan untuk memintas peristiwa terlebih dahulu, seperti pemprosesan pembalakan atau ralat. Memahami kedua -dua fasa ini membantu mengawal masa dan bagaimana JavaScript bertindak balas terhadap operasi pengguna.

Apa perbezaan antara Java dan JavaScript? Apa perbezaan antara Java dan JavaScript? Jun 17, 2025 am 09:17 AM

Java dan JavaScript adalah bahasa pengaturcaraan yang berbeza. 1.Java adalah bahasa yang ditaip dan disusun secara statik, sesuai untuk aplikasi perusahaan dan sistem besar. 2. JavaScript adalah jenis dinamik dan bahasa yang ditafsirkan, terutamanya digunakan untuk interaksi web dan pembangunan front-end.

See all articles