History of GmapPackage

!!Goal
The goal of this project is to create a package that lets you edit a [http://maps.google.com|Google Map] like a wiki, with some Flickr integration thrown in for spice.

This will take the best features of sites like [http://www.wikyblog.com|WikyBlog-Maps], [http://www.pixeldevelopment.com/virtualgoogleearth.asp|VirtualGoogleEarth], and [http://geobloggers.com|GeoBloggers] and merge them in to a package for hosting your own wikimap rather than having to use the existing services which are limited to their hosting, their feature implementation, and their look and feel.

A Road Map for the package is well underway. You can find it below.

If you want to join in I'm not a professional programmer, but have faith, this is going to be sweet. If you do want to help out, well I guess you can email me wjames5 -at - nyc.rr.com or find me on the bitweaver irc thing.

!!Google Map Hacks to Include
*[http://xmaps.busmonster.com/documentation.html|XMap Library]
*[http://groups-beta.google.com/group/Google-Maps-API/search?hl=en&group=Google-Maps-API&q=GxMarker&qt_g=1&searchnow=Search+this+group|GxMarkers] Tools
*[http://gmaps.tommangan.us/tlabel.html|T-Labels]
*[http://www.pixeldevelopment.com/pdmarker.asp|PdMarker]
*Custom Map Tiles
*Geocoding

!!References
[http://mapki.com]
[http://www.flickr.com/services/api/|Flickr API]
[http://www.flickr.com/services/api/key.gne|Flickr API Key Application]


!!Puzzles
!!!Caching Styles
Typically many markers on a page would use the same styles for their look and feel. But there might be a few different styles for different sets of markers. It would be best to load the styles used within a map first, and the each marker would reference that loaded style. So it would seem to make sense to cache styles within the data for the map...ie the map would know what styles its content will use.

But what happens when a marker is used in several maps, and someone updates the marker's style. It is easy to update whichever map the person is refencing the marker through, and let it know that the map needs to update its styles cache. But how to update other maps that might use the marker? How to track back to other maps. Should each marker keep a registry of maps that it is used in?

!!!Sets
This needs to be a lot like categories. Markers and Polys need to be grouped, or added to sets, but it would make sense to be able to add them to multiple sets. Probably need a new table for this. Should the sets be nested. Could the Categories module be duplicated as is to serve as a set manager? Does it need any modification?

----

!RoadMap
!!Database Structure
!!!TABLE: tiki_gmap
*map_id
*user_id
*modifier_user_id
*created
*last_modified
*version
*title
*description
*width
*height
*location_lat
*location_Lon
*zoom_level
*map_type
*show_controls (S/L/N)
*show_scale (T/F)
*show_map_types (T/F)
*init_marker_set
*init_polylines_set
*init_polygon_set
*add_map_types
*marker_sets
*polyline_sets
*polygon_sets
*javascript
*comments (T/F?)
*language (?)
*ip (?)
*hits (?)
*content_type_quid (?)
*format_quid (?)
*points (?)
*votes (?)
*page_rank (?)
*cache (?)
*wiki_cache (?)
*cache_timestamp (?)
*flag (?)


!!!TABLE: tiki_gmap_marker
*marker_id
*user_id
*modifier_user_id
*created
*last_modified
*version
*name
*location_lat
*location_Lon
*icon_id (Style - Default or Custom)
*click_action (assign actions here or type?)
*window_data
*style_id (Style - Default/Custom)
*label_data (Tool Tip in PdMarker Class only)
*zindex
*flickr_image_id (path?)
*javascript


!!!!TABLE: tiki_gmap_iconstyle
*icon_id
*name
*type (GIcon / [http://xmaps.busmonster.com/documentation.html#XIcon_code_|XIcon])
*image
*image_size
*shadow_image
*shadow_size
*rollover (Image for PdMarker Type only? here or in marker styles below?)
*icon_anchor_x
*icon_anchor_y
*infowindow_anchor_x
*infowindow_anchor_y
*infoshadow_anchor_x
*infoshadow_anchor_y


!!!!TABLE: tiki_gmap_markerstyles
*style_id
*name
*type ([http://www.pixeldevelopment.com/pdmarker.asp|PdMarker] / [http://xmaps.busmonster.com/documentation.html#XMarker_code_|XMarker]])
*icon_hover_image (PdMarker Class)
*label_hover_opacity (PdMarker Class)
*label_opacity (PdMarker Class)
*label_hover_styles (CSS for PdMarker Class)
+(should this also have a seperate style for label/tool tip when it is shown after click?)
*window_styles (CSS for PdMarker Class)
+(is this the same as above? - waiting for email from maker of PdMarker)


!!!TABLE: tiki_gmap_polyline
*polyline_id
*user_id
*modifier_user_id
*created
*last_modified
*version
*name
*type (Default / [http://xmaps.busmonster.com/documentation.html#XPolyline_code_|XPolyline])
*points_data (an array)
*style_id
*border_text
*zindex
*javascript


!!!!TABLE: tiki_gmap_polylinestyles
*style_id
*name
*color
*weight
*opacity
*pattern
*segment_count
*begin_arrow
*end_arrow
*arrows_every
*font (CSS)
*text_every
*text_fgstyle_color
*text_fgstyle_weight
*text_fgstyle_opacity
*text_fgstyle_zindex
*text_bgstyle_color
*text_bgstyle_weight
*text_bgstyle_opacity
*text_bgstyle_zindex


!!!TABLE: tiki_gmap_polygon
note: Polygons must be [http://xmaps.busmonster.com/documentation.html#XPolygon_code_|XPolygons]
*polygon_id
*user_id
*modifier_user_id
*created
*last_modified
*version
*name
*type (Polygon / Circle)
*points_data (an array for polygon)
*center (for circle)
*radius (for circle)
*polylinestyle_id (uses polyline style above)
*style_id
*border_text
*zindex
*javascript


!!!!TABLE: tiki_gmap_polygonstyles
*style_id
*name
*color
*weight
*opacity


!!!TABLE tiki_gmap_sidepanel
*show (T/F)
*list_map_types (T/F)
*list_markers (T/F)
*html/wikitext (aka data)


!!!TABLE tiki_gmap_history
*mapparttype
*version
*last_modified
*user_id
*comment (change note)
*javascript



----

!!Basic Page Request Set by Step Outline
this is what must happen when a map page is requested.

!!!Get page id via $_REQUEST
(Look up page id and get map page)
*Title
*Description
*Javascript
*Init Marker Set
*Init Polyline Set
*Init Polygon Set
*Marker Sets
*Polyline Sets
*Polygon Sets
*Comments (?)
*Get Marker Styles
*Get Icon Styles
*Get Polyline Styles
*Get Polygon Styles

!!!Look up marker sets by id
*Create Set Arrays
*Get Marker ids per set

!!!Look up markers by id
*Append Set Arrays
*Get Marker Data
**name
**javascript
**icon style id
**marker style id

!!!Look up icons by id
(maybe there is a faster way to handle this...like maintain a list of icons in use for a map. Probably should do this for all styles.)
*Check if icon id is already available
*register id to Icon Style Array
*Get javascript

!!!Look up polyline sets by id
*Create Set Arrays
*Get Polyine ids per set

!!!Look up polylines by id
*Javascript
*Style id

!!!Look up polygon sets by id
*Create Set Arrays
*Get polygon ids per set

!!!Look up polygons by id
*Javascript
*Style id


----

!!Interface Components
this is a start toward building the UI

^<form method="POST" action="submit.php" name="mapform" id="mapform">
<h3>Map Tools</h3>
Title <input name="map_title" id="map_title" type="text" size="25" value="Some Title"><br/>
Description <input name="map_desc" id="map_desc" type="text" size="25" value="About this map"><br/>
Width <input name="map_w" id="map_w" type="text" size="25" value="auto"><br/>
Height <input name="map_h" id="map_h" type="text" size="25" value="auto"><br/>
Latitude <input name="map_lat" id="map_lat"type="text" size="25" value="somenumber"><br/>
Longitude <input name="map_lon" id="map_lon" type="text" size="25" value="somenumber"><br/>
Zoom Level <input name="map_z" id="map_z" type="text" size="25" value="7"><br/>
Map Type <select name="map_type" id="map_type">
<option>Street Map</option>
<option>Satellite</option>
<option>Hybrid</option>
<option>Any custom map types</option>
</select><br/>
Show Controls <select name="map_showcont" id="map_showcont">
<option>Small</option>
<option>Large</option>
<option>None</option>
</select><br/>
Show Scale <input name="map_showscale" id="map_showscale" type="checkbox" value="True"><br/>
Show_map_types <input name="map_showtype" id="map_showtype" type="checkbox" value="True"><br/>
Marker Sets (table with options)<br/>
Include On Launch <input name="map_marklaunch" id="map_marklaunch" type="checkbox" value="True">
Include In Side Pane <input name="map_markside" id="map_markside" type="checkbox" value="True"><br/>
Polylines Sets (table with options)<br/>
Include On Launch <input name="map_linelaunch1" id="map_linelaunch1" type="checkbox" value="True">
Include In Side Pane <input name="map_lineside1" id="map_lineside1" type="checkbox" value="True"><br/>
Polygon Sets (table with options)<br/>
Include On Launch <input name="map_polylaunch1" id="map_polylaunch1" type="checkbox" value="True">
Include In Side Pane <input name="map_polyside1" id="map_polyside1" type="checkbox" value="True"><br/>
Additional Map Types (table with options)<br/>
Include On Launch <input name="map_typelaunch1" id="map_typelaunch1" type="checkbox" value="True">
Include In Side Pane <input name="map_typeside1" id="map_typeside1" type="checkbox" value="True"><br/>
Comments <input name="map_comm" id="map_comm" type="checkbox" value="True"><br/>
<input type="submit" name="mapsubmit" value="Submit">
</form>

<form method="POST" action="submit.php" name="markerform" id="markerform">
<h3>Marker Tools</h3>
<h4>Marker</h4>
Name<input name="marker_name" id="marker_name" type="text" size="25" value="somenumber"><br/>
Latitude<input name="marker_lat" id="marker_lat" type="text" size="25" value="somenumber"><br/>
Longitude<input name="marker_lon" id="marker_lon" type="text" size="25" value="somenumber"><br/>
Icon Type<select name="marker_icontype" id="marker_icontype" >
<option>Default Style</option>
<option>Custom Style 1</option>
<option>Custom Style 1</option>
</select><br/>
Click Action (assign actions here or type?)<br/>
Window Text<textarea name="marker_wintext" id="marker_wintext" cols="30" rows="5"></textarea><br/>
Marker Style<select name="marker_style" id="marker_style">
<option>Default Style</option>
<option>Custom Style 1</option>
<option>Custom Style 1</option>
</select><br/>
Label Text <textarea name="marker_labeltext" id="marker_labeltext" cols="30" rows="2"></textarea><br/>
zIndex <input name="marker_zi" id="marker_zi" type="text" size="25" value="auto"><br/>
Flickr Image (how to get path? menu?)<br/>


<h4>Custom Icon Tools</h4>
Name <input name="icon_name" id="icon_name" type="text" size="25" value="Some Name"><br/>
Type<select name="icon_type" id="icon_type" >
<option>GIcon</option>
<option>XIcon</option>
</select><br/>
Icon Image Path <input name="icon_img" id="icon_img" type="text" size="25" value="Some Value"><br/>
Image Size <input name="icon_imgsize" id="icon_imgsize" type="text" size="25" value="Some Value"><br/>
Shadow Image Path <input name="icon_shadow" id="icon_shadow" type="text" size="25" value="Some Value"><br/>
Shadow Size <input name="icon_shadowsize" id="icon_shadowsize" type="text" size="25" value="Some Value"><br/>
Icon Anchor x <input name="icon_anchorx" id="icon_anchorx" type="text" size="25" value="Some Value"><br/>
Icon Anchor y <input name="icon_anchory" id="icon_anchory" type="text" size="25" value="Some Value"><br/>
Info Window Anchor x <input name="icon_winanchorx" id="icon_winanchorx" type="text" size="25" value="Some Value"><br/>
Info Window Anchor y <input name="icon_winanchory" id="icon_winanchory" type="text" size="25" value="Some Value"><br/>
Info Shadow Anchor x <input name="icon_shadowanchorx" id="icon_shadowanchorx" type="text" size="25" value="Some Value"><br/>
Info Shadow Anchor y <input name="icon_shadowanchory" id="icon_shadowanchory" type="text" size="25" value="Some Value"><br/>


<h4>Custom Marker Tools</h4>
Name <input name="marker_styname" id="marker_styname" type="text" size="25" value="Some Value"><br/>
Type <select name="marker_stytype" id="marker_stytype">
<option>PdMarker</option>
<option>XMarker</option>
</select><br/>
<small>(PdMarker Class Only)</small><br/>
Icon Hover Image Path <input name="icon_hover" id="icon_hover" type="text" size="25" value="Some Value"><br/>
Label Hover Opacity <input name="icon_hoverop" id="icon_hoverop" type="text" size="25" value="A Number"><br/>
Label Opacity <input name="icon_labelop" id="icon_labelop" type="text" size="25" value="A Number"><br/>
Label Hover Styles <input name="icon_hoverstyle" id="icon_hoverstyle" type="text" size="25" value="Some Value"><br/>
Window Styles <input name="icon_winstyle" id="icon_winstyle" type="text" size="25" value="Some Value"><br/>
<input type="submit" name="markersubmit" value="Submit">
</form>

<form method="POST" action="submit.php" name="polyform" id="polyform">
<h3>Polyline Tools</h3>
<h4>Ployline</h4>
Name <input name="line_name" id="line_name" type="text" size="25" value="Some Value"><br/>
Type<select name="line_type" id="line_type">
<option>Default</option>
<option>XPolyline</option>
</select><br/>
Points Data <textarea name="line_data" id="line_data" cols="30" rows="5"></textarea><br/>
Style<select name="line_style" id="line_style" >
<option>Default</option>
<option>Custom</option>
</select><br/>
<small>(selects a style by id</small><br/>
Border Text <input name="line_bordertext" id="line_bordertext" type="text" size="25" value="Some Value"><br/>
zIndex <input name="line_zi" id="line_zi" type="text" size="25" value="A Number"><br/>

<h4>Polyline Styles</h4>
Name <input name="line_styname" id="line_styname" type="text" size="25" value="Some Value"><br/>
Color <input name="line_color" id="line_color" type="text" size="25" value="Hex Value"><br/>
Weight <input name="line_name" id="line_name" type="text" size="25" value="A Number"><br/>
Opacity <input name="line_w" id="line_w" type="text" size="25" value="A Number"><br/>
Pattern <input name="line_pattern" id="line_patter" type="text" size="25" value="A Number"><br/>
Segment_count <input name="line_seg" id="line_seg" type="text" size="25" value="A Number"><br/>
Begin Arrow <input name="line_beginarrow" id="line_beginarrow" type="checkbox" value="True"><br/>
End Arrow <input name="line_endarrow" id="line_endarrow" type="checkbox" value="True"><br/>
Arrows Every <input name="line_arrowint" id="line_arrowint" type="text" size="25" value="A Number"><br/>
Font (CSS) <input name="line_font" id="line_font" type="text" size="25" value="Some Value"><br/>
Text Every <input name="line_textint" id="line_textint" type="text" size="25" value="A Number"><br/>
Text fgstyle_color <input name="line_txtfgcolor" id="line_txtfgcolor" type="Text" size="25" value="Hex Value"><br/>
Text fgstyle_weight <input name="line_txtfgweight" id="line_txtfgweight" type="Text" size="25" value="A Number"><br/>
Text fgstyle_opacity <input name="line_txtfgop" id="line_txtfgop" type="Text" size="25" value="A Number"><br/>
Text fgstyle_zindex <input name="line_txtfgzi" id="line_txtfgzi" type="Text" size="25" value="A Number"><br/>
Text bgstyle_color <input name="line_txtbgcolor" id="line_txtbgcolor" type="Text" size="25" value="Hex Value"><br/>
Text bgstyle_weight <input name="line_txtbgweight" id="line_txtbgweight" type="Text" size="25" value="A Number"><br/>
Text bgstyle_opacity <input name="line_txtbgop" id="line_txtbgop" type="Text" size="25" value="A Number"><br/>
Text bgstyle_zindex <input name="line_txtbgzi" id="line_txtbgzi" type="Text" size="25" value="A Number"><br/>


<h3>Polygon Tools</h3>
<h4>Polygon</h4>
Name <input name="poly_name" id="poly_name" type="text" size="25" value="Some Value"><br/>
Type<select name="poly_type" id="poly_type">
<option>Polygon</option>
<option>Circle</option>
</select><br/>
Points Data <textarea name="poly_data" id="poly_data" cols="30" rows="2">An Array</textarea><br/>
Center <input name="poly_center" id="poly_center" type="Text" size="25" value="A Lat/Lon Array"><br/>
Radius <input name="poly_radius" id="poly_radius" type="Text" size="25" value="A Number"><br/>
Border Style<select name="poly_borderstyle" id="poly_borderstyle">
<option>Custom 1</option>
<option>Custom 2</option>
</select><br/>
(this is a polyline style)<br/>
Style<select name="poly_style" id="poly_style">
<option>Custom 1</option>
<option>Custom 2</option>
</select><br/>
(this is a polygon style)<br/>
Border Text <input name="poly_bordertext" id="poly_bordertext" type="text" size="25" value="Some Value"><br/>
zIndex <input name="poly_zi" id="poly_zi" type="text" size="25" value="A Number"><br/>

<h4>Polygon Style</h4>
Name <input name="poly_styname" id="poly_styname" type="text" size="25" value="Some Value"><br/>
Color <input name="poly_color" id="poly_color" type="text" size="25" value="A Number"><br/>
Weight <input name="poly_weight" id="poly_weight" type="text" size="25" value="A Number"><br/>
Opacity <input name="poly_op" id="poly_op" type="text" size="25" value="A Number"><br/>
<input type="submit" name="polysubmit" value="Submit">
</form>
^
Page History
Date/CommentUserIPVersion
25 Nov 2008 (20:19 UTC)
bug fix updates
Will69.203.72.161167
Current • Source
Will69.203.72.161166
View • Compare • Difference • Source
Will69.203.72.161165
View • Compare • Difference • Source
Will69.203.72.161164
View • Compare • Difference • Source
Will69.203.72.161163
View • Compare • Difference • Source
Will69.203.72.161162
View • Compare • Difference • Source
Will69.203.72.161161
View • Compare • Difference • Source
Will69.203.72.161160
View • Compare • Difference • Source
Will69.203.72.161159
View • Compare • Difference • Source
Will69.203.72.161158
View • Compare • Difference • Source
Will69.203.72.161157
View • Compare • Difference • Source
Will69.203.72.161156
View • Compare • Difference • Source
Will69.203.72.161155
View • Compare • Difference • Source
Will69.203.72.161154
View • Compare • Difference • Source
Will69.203.72.161153
View • Compare • Difference • Source
Will69.203.72.161152
View • Compare • Difference • Source
Will69.203.72.161151
View • Compare • Difference • Source
Will69.203.72.161150
View • Compare • Difference • Source
Will69.203.72.161149
View • Compare • Difference • Source
Will69.203.72.161148
View • Compare • Difference • Source
Will206.83.76.15147
View • Compare • Difference • Source
Will66.251.17.162146
View • Compare • Difference • Source
Will206.83.76.15145
View • Compare • Difference • Source
Will66.251.17.162144
View • Compare • Difference • Source
Will66.251.17.162143
View • Compare • Difference • Source
Will206.83.76.15142
View • Compare • Difference • Source