\brief qtvplugin_geomarker introduces QGraphicesView system, established a common approach for geo marking.
GEO marker is a vector symbol displays on the background OSM raster map. there are 3 different mark types supported by this plugin.
1. Point Marks. Include ellipse and rect style mark. these type of mark stand for a single point on earth, with a specified lat, lon .the with and height
for rect / ellipse circumrect can be specified by user at runtime, in PIXEL. with and height will stay still during map zoom.
2. Line Mark. Line mark is a beeline on map. ATTENTION, in Mercator Projection system, the geo shortest path between 2 points on earth is NOT a beeline, that means
beeline on a map is just for display performance and accessibility. the real path is a curve , which has 2 point of intersections exactly at start position and end position.
3. Polygon (Region) Mark. Polygon mark is a region on map. borders of a region is painted with lines, for a same reason above, the geo shortest path between 2 points on earth is NOT a beeline either.
Marks above shares a same style system provided by Qt painter system. pen, brush , font can be setted for each mark.
Each mark has a Uinque ID called "name", and a type enum called "type". It can also contain several user-defined properties, with a key-value style storage.
Especial, a user-defined property called "LABEL"(Upper case) is different agains others. the value of LABEL will be displayed as text items on map all the time,
but other properties will only visible when user click the mark.
When the mark is clicked, or double clicked, a event will be fired, so that all plugins and OCX containers will be noticed that a mark (with ID) is clicked.