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
!!!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