Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
52 commits
Select commit Hold shift + click to select a range
8f33fa2
got forked code from Igor, changing back to chad's google API key, fi…
chadn Mar 29, 2012
9ed5def
Multiple Calendars works
chadn Apr 8, 2012
4d43c1a
added +/- rightTab
chadn Apr 9, 2012
244fd44
fixed date parsing, allowing YYYY-MM-DD
chadn Apr 18, 2012
2d17cac
Upgrade to jquery 1.7, google maps api V3 for geocoder
chadn Apr 18, 2012
04491f6
Updates to analytics - adding 3 new "event actions" : cal-begin, cal-…
chadn Apr 19, 2012
7353674
removing src/cnMapFilter.js - maintaining only one version in example…
chadn Apr 28, 2012
a98950a
remove console.log(), better error handling in ajax
chadn Apr 28, 2012
2d5da41
fixed bug produced where an event has no gd$when, updated analytics
chadn May 1, 2012
719b6c5
Cleanup - cleaned up css, changed HTML, map is now 100% width and height
chadn May 16, 2012
26543e7
added cnMF.throttle.setTimeout() to throttle window resize events
chadn May 16, 2012
e94a4f9
upgraded to google maps api v3 from v2, some code cleanup and reorgan…
chadn May 17, 2012
db82ab7
more google maps api v3 work, markers and events updates
chadn May 18, 2012
6c28e9d
Fixing jScrollPane, upgraded to 1.3.2
chadn May 21, 2012
b214097
stopped using jScrollPane, too buggy
chadn May 21, 2012
4a302a0
Upgraded jqueryUI 1.8.18, and only for IE9, used jqueryUI slider (han…
chadn May 22, 2012
ae914a5
Updated help instructions. Switch from using url (xml feed) of googl…
chadn May 22, 2012
85f4bc3
lots of fixes and cleanup, including open/close drawer, userInteratio…
chadn May 23, 2012
c27d421
cleaned up logging - warn, info, debug, log
chadn May 23, 2012
05da139
fixes to mapAllEvents, other cleanup here and there
chadn May 24, 2012
c610e46
Adding changelog
chadn May 24, 2012
cedc7c8
changelog - fix formatting
chadn May 24, 2012
7dc49a8
copy edit
chadn May 24, 2012
83e3d93
sliders update - For IE, FF12+, and iPad, switched default to using "…
chadn Jun 6, 2012
fc4e215
fix "jump to address" box
chadn Nov 4, 2012
7ad0e4f
adding a couple more analytics events - uniqAddrUnknown, uniqAddrErro…
chadn Nov 4, 2012
3597b8f
trying touch event for iPad
chadn Nov 4, 2012
fe9307e
tweak to address shown in "Where" column. Closes github issue #6
chadn Nov 4, 2012
302cfa5
Remove drawer background and make semi-transparent. Fixes #5
chadn Nov 4, 2012
f7992a4
fixes #11 - remove extra ')'
chadn Nov 19, 2012
86214f2
include mins in event time in map info window.
chadn Mar 4, 2013
ac8f46f
added githalytics.com
chadn Apr 8, 2013
af78742
Fix "Directions" link
cliffordp Jul 23, 2014
c833847
Merge pull request #25 from cliffordp/patch-1
chadn Nov 22, 2014
4035ec9
Successfully pulled calendar info using google calendar API v3
chadn Dec 4, 2014
eb0e8a0
It basically works with calendar API v3, still some bugs (like with r…
chadn Dec 4, 2014
b9548f1
Merge branch 'development' of github.com:chadn/mapfilter into develop…
chadn Dec 4, 2014
4e32595
fix links in README
chadn Dec 4, 2014
a8ed460
added license
chadn Dec 4, 2014
2a4fcdc
removing calendar example that is no longer maintained
chadn Dec 4, 2014
ddd207b
add license to README
chadn Dec 4, 2014
b49c0bc
show URL in read me
chadn Dec 4, 2014
51187da
Properly handle recurring events. Create GCM event for every instanc…
chadn Dec 5, 2014
905b650
tweak to maxStr to handle non strings
chadn Dec 5, 2014
8b912dc
Fix bug when there's no description in event
chadn Dec 5, 2014
3ca8416
updated index.html with working examples
chadn Jan 15, 2015
44cc9de
sorting table by date was broken, fixed by changing format.
chadn Jan 15, 2015
aec0b75
updated README API key info
chadn Jun 30, 2015
275c405
tweak README formatting
chadn Jun 30, 2015
e8e0f27
fix bug triggered by cancelled events
chadn Oct 7, 2015
5ec678c
CN-147 switched from http to https
chadn Jul 16, 2018
dd1f636
updated API key and limited api key use to chadnorwood.com
chadn Aug 27, 2018
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
22 changes: 22 additions & 0 deletions LICENSE
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
The MIT License (MIT)

Copyright (c) 2011-2014 Twitter, Inc

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.

20 changes: 20 additions & 0 deletions readme.markdown → README.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,3 +10,23 @@ My first working example is GCM - Google Calendar Map. It uses a google calenda

The example code is messy. I wanted to get something up and running so i can experiment with features. My methods often involved pasting code from other sources, so forgive me for the quality of the code. I only recently pulled out some of the core javascript, cleaned it up, and put it in the src directory. It still could use some work, and i welcome suggestions.

### Google Calendar V3 ###

On Nov 17, 2014, Google deprecated v1 and v2 [src](http://googleappsupdates.blogspot.com/2014/10/deprecated-google-calendar-apis-v1-v2.html)
In December 2014, GCM was updated to use v3. One of the key things in v3 is usage limits. These are controlled by either API keys (simple, public calendars only) or OAuth (more complicated, but can get private calendar data). GCM uses API keys, which are tied to domains.

Therefore, **If you want to run this from any domain besides chadnorwood.com, you need to**

1. Generate your own API key - https://developers.google.com/api-client-library/javascript/start/start-js#Setup
1. Replace API key in <a href='https://github.com/chadn/mapfilter/blob/development/examples/gcm/js/cnMapFilter.js'>examples/gcm/js/cnMapFilter.js</a> with your key - search js for "Google API Key"

### License ###

This code is released under the terms of the [MIT license](LICENSE).

The MIT License is simple and easy to understand and it places almost no restrictions on what you can do.
You are free to use in any other project (even commercial projects) as long as the copyright header is left intact.



[![githalytics.com alpha](https://cruel-carlota.pagodabox.com/6280089702654e2e4bd7e4dc622097df "githalytics.com")](http://githalytics.com/chadn/mapfilter)
42 changes: 42 additions & 0 deletions TODO
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
What is the 'src' directory (ask Chad)?

Remove external calls
$.getJSON("http://chadnorwood.com/saveJson/?callback=?", {sj: cnMF.reportData});


[DONE] Write a feature list. See http://chadnorwood.com/projects/gcm/#KeyFeatures

[DONE] What happens when the list of events is too long? See vert slider in
http://chadnorwood.com/gcm/?u=http://www.google.com/calendar/feeds/jo0ubvoi1gutr95kdtl1245u3g@group.calendar.google.com/public/basic

[DONE] remove PHP code. See index.html

[DONE] Create test calendar.
https://www.google.com/calendar/feeds/0ei0284so407vu24o7o0q5ares%40group.calendar.google.com/public/basic

[DONE] non-ascii characters break the geo-locating code. Removed encode(), use instead http://www.w3schools.com/jsref/jsref_encodeuri.asp

[TRIVIAL] Change dates has a debug popup that should be removed

[TRIVIAL] Add link to FAQ in information message: "The Following Events Had Addresses (Where) That Could Not Be Found. See FAQ"
See FAQ.html for a start.

[EASY] Remove the "_ errors" in the top right box. It's redundant with the warning link that appears.

[EASY] When events are on the whole day, do not display time (second part of 2011-12-10 Sat 00:00)

[EASY] Jump to an address, city, or zip - the zoom level should match the granularity: "Indiana" is a state-wide request.

[MEDIUM] Inform the user of inconsistencies (in the calendar entries). Use a javascript alert?

[MEDIUM] plot icon on the map should bear information. For example, number of events at location.

[MEDIUM] Display several calendars at once: differentiate by color

[MEDIUM] Inform the user for time-consuming operations (load calendar)

[BUG] horizontal time slider filters OK the calendar table, but not the map (look for first chronolgical entry)

[TEDIOUS] Translate application (add flags under the top right GCM logo; auto-detect language by IP)

[???] Write an integration process: checkSyntax, minify, push to Web server
62 changes: 62 additions & 0 deletions changelog.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,62 @@
CHANGELOG
=========

* This file: https://github.com/chadn/mapfilter/blob/development/changelog.rst
* Project homepage: http://chadnorwood.com/projects/gcm/
* Working example: http://chadnorwood.com/gcm/

2014-12-3
----------

* switched to Google Calendars API v3

2012-6-6
----------

* sliders update - For IE, FF12+, and iPad, switched default to using "overlapping sliders", which is how the latest jqueryUI slider code works.
Originally the slider handles could be dragged up until they touched, but would not overlap.
Overlapping slider handles can be forced on by setting ``os=1`` in URL parameters.
Likewise, the original slider behavior can be forced on by setting ``os=0`` in URL parameters. Example:
http://chadnorwood.com/gcm/?gc=asa5k2phscdna68j9e5410v6mc@group.calendar.google.com&ed=5&os=0

2012-5-23 tag 0.3
------------------

* Created this changelog, which summarizes github commit msgs
* Completed upgrade from google maps v2 to v3
* Added Drawer Concept (aka right tab): Drawer can open/close by pressing +/-, it contains calendar info, date sliders, and table of matching events (all the things that used to always be present on the right side)
* Changed default from xml url for calendars to calendar id, updated Help to explain this.
* Fixed browser bugs, now works on IE7, IE8, IE9, Chrome, Safari, Firefox
* Upgraded to jquery 1.7.1 and jqueryUI 1.8.18
* Removed jScrollPane
* Updates to analytics
* Lots of code cleanup (always more to do)


2012-5-1 tag 0.2
------------------

* Created development branch
* Added multiple calendar support
* Removed php, created and merged igorrosenberg-no-php branch
* Removed ``src/cnMapFilter.js``, which was a duplicate of ``examples/gcm/js/cnMapFilter.js``
* Upgraded to jquery 1.7, began api v3 upgrade
* Updates to analytics


2011-9-21 tag 0.1, from start in 2009
-------------------------------------

* The following was originally on the project homepage, http://chadnorwood.com/projects/gcm/
* 2009-6-12 - Initial release of prototype
* 2009-8-4 - change to 200 max events (from 25)
* 2009-11-19 - updated to work with new google maps api.
* 2010-01 - made a test version using date sliders.
* 2010-6-20 - fixed slider handles so they do not overlap.
* 2010-9-12 - Second version of GCM prototype. Initial one moved to gcm2009.
* 2011-1-9 - Added basic support for recurring events.
* 2011-3-29 - Finished some under-the-hood coding and released source code as mapfilter project on github. Read more on the GCM on github blog post.
* 2011-9-21 - Added timezone support. See details in URL Options above.



20 changes: 20 additions & 0 deletions examples/gcm/FAQ.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
<html>
<head>
<title>GCM FAQ</title>
</head>

<body>
<h1 id="FAQ">GCM FAQ</h1>
<DL>
<DT>The Following Events Had Addresses (Where) That Could Not Be Found</DT>
<DD>GCM relies on the &ldquo;where&rdquo; field found in the google calendar which has been specified.
The value of this &ldquo;where&rdquo; field is converted into a latitude and longitude using Google's geolocation API;
the conversion sometimes may fail for various reasons, but most usually it is because the where data is incomplete.
To make sure the data is sufficient, copy and paste the &ldquo;where&rdquo; field into
<a href="http://maps.google.com/">google maps</a>. If a single location is returned, then the data is correct.
</DD>

</DL>

</body>
</html>
25 changes: 0 additions & 25 deletions examples/gcm/config.php

This file was deleted.

2 changes: 1 addition & 1 deletion examples/gcm/css/jScrollPane.css
Original file line number Diff line number Diff line change
Expand Up @@ -62,4 +62,4 @@ a.jScrollArrowDown:hover {
}
a.jScrollActiveArrowButton, a.jScrollActiveArrowButton:hover {
background-color: #f00;
}
}
Loading