Comments (4)
Sounds like a good idea. How would you want to approach this. There is already a way to handle sending data to regions... I could make it so that any region without data gets disabled from clicking. I can make it a setting ( boolean ) to disable regions without data. Your thoughts are welcome ;)
from jqvmap.
Well, you already have the ability to set the color of specific countries like this:
jQuery('#vmap').vectorMap('set', 'colors', {us: '#0000ff'});
But you also have the global setting "color", and I think this is a little messy, especially when you consider that enabling/disabling clicks is merely one example of many per-region properties that one might want to control, so it would be better to separate them out so that all the properties of regions were singular and could be set both globally and overriden per region in a standardise way that you can extend with new properties in the future.
So how about extending your "set" function to allow setting any property of all or specific regions to one or more values as required using the following 3 syntaxes:
//all regions blue
jQuery('#vmap').vectorMap('set', 'color', '#0000ff');//US, SO, GR blue
jQuery('#vmap').vectorMap('set', 'color', '#0000ff', 'us,so,gr');//US blue, SO red, GR green
jQuery('#vmap').vectorMap('set', 'color', {us: '#0000ff', so: '#ff0000', gr: '#00ff00'});
So then for disabling clicking you would just create a new region property "clickEnabled" (with supporting code tweaks elsewhere) and call it like this:
//clicks enabled for all regions
jQuery('#vmap').vectorMap('set', 'clickEnabled', true);//clicks enabled for all regions which have data
jQuery('#vmap').vectorMap('set', 'clickEnabled', null);//clicks disabled for US, SO, GR
jQuery('#vmap').vectorMap('set', 'clickEnabled', false, 'us,so,gr');
from jqvmap.
Seems pretty straight forward. I will work on this for the next version. This would be a handy feature to have.
from jqvmap.
My pull request #27, among other things, adds a check for isDefaultPrevented() in the regionClick event, allowing a jqvmap client to dynamically allow/suppress clicks on regions, which can be used as one way to solve this problem.
from jqvmap.
Related Issues (20)
- List of selections as region labels, not codes
- The map new regions france no working HOT 2
- Map does not plot markers
- No toolitip for countries
- pins or labels shifted to right and bottom on ukraine map HOT 1
- cannot import name 'EvaluableParseManager'
- Country vectors for Singapore and Hongkong
- Add Singapore
- 'selectedRegions' option does not work with double-quoted input: ["MX"]
- How to display Washington DC on the map
- Destroy Map?
- Distinguish the areas of northern India/Kashmir and Tibet
- jquery.vmap.usa.counties.js is missing Whatcom County, WA
- Label Obstruct small states in USA map
- How to disable Pinch zoom at mobile device? HOT 2
- Austria causes crash
- Is this project maintenance?
- Is it possible to select only a province?
- dynamic set selectedRegions
- any alternative in vanilla javascript
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from jqvmap.