Skip to content

Commit

Permalink
new
Browse files Browse the repository at this point in the history
  • Loading branch information
gabesnider authored and gabesnider committed Oct 27, 2016
1 parent 13079fb commit 544ec13
Show file tree
Hide file tree
Showing 13 changed files with 741 additions and 65 deletions.
Binary file modified .DS_Store
Binary file not shown.
61 changes: 1 addition & 60 deletions travelleaflet/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -26,65 +26,6 @@
</head>
<body>
<div id="map"></div>
<script>
var map = L.map('map').setView([32.109333, 34.855499], 2), touch;

L.tileLayer('http://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png', {
subdomains: 'abc',
maxZoom: 18,
minZoom: 0
}).addTo(map);

var layer = new L.TileLayer("http://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png", {
noWrap: true
});

L.marker([10.2750, -84.8255]).addTo(map).bindPopup("Monteverde, Costa Rica");
L.marker([43.6532, -79.3832]).addTo(map).bindPopup("Toronto, Canada");
L.marker([59.3293, 18.0686]).addTo(map).bindPopup("Stockholm, Sweden");
L.marker([59.9139, 10.7522]).addTo(map).bindPopup("Oslo, Norway");
L.marker([55.6761, 12.5683]).addTo(map).bindPopup("Copenhagen, Denmark");
L.marker([-8.350885, 116.037276]).addTo(map).bindPopup("Gili Trawangan, Bali, Indonesia");
L.marker([-16.9186, 145.7781]).addTo(map).bindPopup("Cairns, AUS");
L.marker([-33.8688, 151.2093]).addTo(map).bindPopup("Sydney, AUS");
L.marker([-25.3444, 131.0369]).addTo(map).bindPopup("Uluru, AUS");
L.marker([29.4241, -98.4936]).addTo(map).bindPopup("San Antonio, TX, USA");
L.marker([43.0831, -73.7846]).addTo(map).bindPopup("Saratoga Springs, NY, USA");
L.marker([41.8781, -87.6298]).addTo(map).bindPopup("Chicago, IL, USA");
L.marker([36.1627, -86.7816]).addTo(map).bindPopup("Nashville, TN, USA");
L.marker([36.1128, -113.9961]).addTo(map).bindPopup("Grand Canyon, AZ, USA");
L.marker([37.7749, -122.4194]).addTo(map).bindPopup("San Francisco, CA, USA");
L.marker([35.6870, -105.9378]).addTo(map).bindPopup("Santa Fe, NM, USA");
L.marker([44.4759, -73.2121]).addTo(map).bindPopup("Burlington, VT, USA");
L.marker([40.7128, -74.0059]).addTo(map).bindPopup("New York City, NY, USA");
L.marker([38.9072, -77.0369]).addTo(map).bindPopup("Washington, D.C., USA");
L.marker([19.4326, -99.1332]).addTo(map).bindPopup("Mexico City, Mexico");
L.marker([-0.1807, -78.4678]).addTo(map).bindPopup("Quito, Ecuador");
L.marker([-1.3928, -78.4269]).addTo(map).bindPopup("Banos, Ecuador");
L.marker([-0.9538, -90.9656]).addTo(map).bindPopup("Galapagos Islands, Ecuador");
L.marker([36.1441, -5.3417]).addTo(map).bindPopup("Rock of Gibraltar");
L.marker([30.32164, 35.48013]).addTo(map).bindPopup("Petra, Jordan");
L.marker([32.109333, 34.855499]).addTo(map).bindPopup("Tel Aviv, Israel");
L.marker([31.7683, 35.2137]).addTo(map).bindPopup("Jerusalem, Israel");
L.marker([32.7940, 34.9896]).addTo(map).bindPopup("Haifa, Israel");
L.marker([31.4512, 35.3836]).addTo(map).bindPopup("Ein Gedi, Israel");
L.marker([29.5577, 34.9519]).addTo(map).bindPopup("Eilat, Israel");
L.marker([32.1848, 34.8713]).addTo(map).bindPopup("Ra'anana, Israel");
L.marker([31.6688, 34.5743]).addTo(map).bindPopup("Ashkolon, Israel");
L.marker([32.3215, 34.8532]).addTo(map).bindPopup("Netanya, Israel");
L.marker([37.9838, 23.7275]).addTo(map).bindPopup("Athens, Greece");
L.marker([40.6401, 22.9444]).addTo(map).bindPopup("Thessaloniki, Greece");
L.marker([40.4168, -3.7038]).addTo(map).bindPopup("Madrid, Spain");
L.marker([41.3851, 2.1734]).addTo(map).bindPopup("Barcelona, Spain");
L.marker([36.1627, -86.7816]).addTo(map).bindPopup("Nashville, TN, USA");
L.marker([-36.84846, 174.76333]).addTo(map).bindPopup("Auckland, NZ");
L.marker([-38.1368, 176.2497]).addTo(map).bindPopup("Rotorua, NZ");
L.marker([-43.53205, 172.63623]).addTo(map).bindPopup("Christchurch, NZ");
L.marker([-45.03116, 168.6626]).addTo(map).bindPopup("Queenstown, NZ");
L.marker([-37.81411, 144.96328]).addTo(map).bindPopup("Melbourne, AUS");
L.marker([-28.64737, 153.60198]).addTo(map).bindPopup("Byron Bay, AUS");
L.marker([-18.2871, 147.6992]).addTo(map).bindPopup("Great Barrier Reef, AUS");
L.marker([-42.88190, 147.32381]).addTo(map).bindPopup("Hobart, Tasmania, AUS");
</script>

</body>
</html>
Binary file modified unit_10/.DS_Store
Binary file not shown.
24 changes: 24 additions & 0 deletions unit_10/Leaflet.Sleep-master/LICENSE
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
Copyright (c) 2015 Daniel Montague


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.


235 changes: 235 additions & 0 deletions unit_10/Leaflet.Sleep-master/Leaflet.Sleep.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,235 @@
/*
* Leaflet.Sleep
*/

/*
* Default Button (touch devices only)
*/

L.Control.SleepMapControl = L.Control.extend({

initialize: function(opts){
L.setOptions(this,opts);
},

options: {
position: 'topright',
prompt: 'disable map',
styles: {
'backgroundColor': 'white',
'padding': '5px',
'border': '2px solid gray'
}
},

buildContainer: function(){
var self = this;
var container = L.DomUtil.create('p', 'sleep-button');
var boundEvent = this._nonBoundEvent.bind(this);
container.appendChild( document.createTextNode( this.options.prompt ));
L.DomEvent.addListener(container, 'click', boundEvent);
L.DomEvent.addListener(container, 'touchstart', boundEvent);

Object.keys(this.options.styles).map(function(key) {
container.style[key] = self.options.styles[key];
});

return (this._container = container);
},

onAdd: function () {
return this._container || this.buildContainer();
},

_nonBoundEvent: function(e) {
L.DomEvent.stop(e);
if (this._map) this._map.sleep._sleepMap();
return false;
}

});

L.Control.sleepMapControl = function(){
return new L.Control.SleepMapControl();
};


/*
* The Sleep Handler
*/

L.Map.mergeOptions({
sleep: true,
sleepTime: 750,
wakeTime: 750,
wakeMessageTouch: 'Touch to Wake',
sleepNote: true,
hoverToWake: true,
sleepOpacity:.7,
sleepButton: L.Control.sleepMapControl
});

L.Map.Sleep = L.Handler.extend({

addHooks: function () {
var self = this;
this.sleepNote = L.DomUtil.create('p', 'sleep-note', this._map._container);
this._enterTimeout = null;
this._exitTimeout = null;

/*
* If the device has only a touchscreen we will never get
* a mouseout event, so we add an extra button to put the map
* back to sleep manually.
*
* a custom control/button can be provided by the user
* with the map's `sleepButton` option
*/
this._sleepButton = this._map.options.sleepButton();

if (this._map.tap) {
this._map.addControl(this._sleepButton);
}

var mapStyle = this._map._container.style;
mapStyle.WebkitTransition += 'opacity .5s';
mapStyle.MozTransition += 'opacity .5s';

this._setSleepNoteStyle();
this._sleepMap();
},

removeHooks: function () {
if (!this._map.scrollWheelZoom.enabled()){
this._map.scrollWheelZoom.enable();
}
L.DomUtil.setOpacity( this._map._container, 1);
L.DomUtil.setOpacity( this.sleepNote, 0);
this._removeSleepingListeners();
this._removeAwakeListeners();
},

_setSleepNoteStyle: function() {
var noteString = '';
var style = this.sleepNote.style;

if(this._map.tap) {
noteString = this._map.options.wakeMessageTouch;
} else if (this._map.options.wakeMessage) {
noteString = this._map.options.wakeMessage;
} else if (this._map.options.hoverToWake) {
noteString = 'click or hover to wake';
} else {
noteString = 'click to wake';
}

if( this._map.options.sleepNote ){
this.sleepNote.appendChild(document.createTextNode( noteString ));
style.pointerEvents = 'none';
style.maxWidth = '150px';
style.transitionDuration = '.2s';
style.zIndex = 5000;
style.opacity = '.6';
style.margin = 'auto';
style.textAlign = 'center';
style.borderRadius = '4px';
style.top = '50%';
style.position = 'relative';
style.padding = '5px';
style.border = 'solid 2px black';
style.background = 'white';

if(this._map.options.sleepNoteStyle) {
var noteStyleOverrides = this._map.options.sleepNoteStyle;
Object.keys(noteStyleOverrides).map(function(key) {
style[key] = noteStyleOverrides[key];
});
}
}
},

_wakeMap: function (e) {
this._stopWaiting();
this._map.scrollWheelZoom.enable();
if (this._map.tap) {
this._map.touchZoom.enable();
this._map.dragging.enable();
this._map.tap.enable();
this._map.addControl(this._sleepButton);
}
L.DomUtil.setOpacity( this._map._container, 1);
this.sleepNote.style.opacity = 0;
this._addAwakeListeners();
},

_sleepMap: function () {
this._stopWaiting();
this._map.scrollWheelZoom.disable();

if (this._map.tap) {
this._map.touchZoom.disable();
this._map.dragging.disable();
this._map.tap.disable();
this._map.removeControl(this._sleepButton);
}

L.DomUtil.setOpacity( this._map._container, this._map.options.sleepOpacity);
this.sleepNote.style.opacity = .4;
this._addSleepingListeners();
},

_wakePending: function () {
this._map.once('mousedown', this._wakeMap, this);
if (this._map.options.hoverToWake){
var self = this;
this._map.once('mouseout', this._sleepMap, this);
self._enterTimeout = setTimeout(function(){
self._map.off('mouseout', self._sleepMap, self);
self._wakeMap();
} , self._map.options.wakeTime);
}
},

_sleepPending: function () {
var self = this;
self._map.once('mouseover', self._wakeMap, self);
self._exitTimeout = setTimeout(function(){
self._map.off('mouseover', self._wakeMap, self);
self._sleepMap();
} , self._map.options.sleepTime);
},

_addSleepingListeners: function(){
this._map.once('mouseover', this._wakePending, this);
this._map.tap &&
this._map.once('click', this._wakeMap, this);
},

_addAwakeListeners: function(){
this._map.once('mouseout', this._sleepPending, this);
},

_removeSleepingListeners: function(){
this._map.options.hoverToWake &&
this._map.off('mouseover', this._wakePending, this);
this._map.off('mousedown', this._wakeMap, this);
this._map.tap &&
this._map.off('click', this._wakeMap, this);
},

_removeAwakeListeners: function(){
this._map.off('mouseout', this._sleepPending, this);
},

_stopWaiting: function () {
this._removeSleepingListeners();
this._removeAwakeListeners();
var self = this;
if(this._enterTimeout) clearTimeout(self._enterTimeout);
if(this._exitTimeout) clearTimeout(self._exitTimeout);
this._enterTimeout = null;
this._exitTimeout = null;
}
});

L.Map.addInitHook('addHandler', 'sleep', L.Map.Sleep);
57 changes: 57 additions & 0 deletions unit_10/Leaflet.Sleep-master/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,57 @@
# Leaflet.Sleep

Leaflet's stock maps are event-greedy and interfere with scrolling.

`Leaflet.Sleep` is an interaction manager, helping your
map do what you want when you want.

### [demo](http://cliffcloud.github.io/Leaflet.Sleep)

## Use

Available on [npm](#npm), [bower](#bower), and straight from the single
[source](https://github.com/CliffCloud/Leaflet.Sleep/blob/master/Leaflet.Sleep.js)
file

`Leaflet.Sleep` is enabled by default, and can be disabled with the map's `sleep`
option.

### npm

[`npm install leaflet-sleep`](https://www.npmjs.com/package/leaflet-sleep)

### bower

`bower install leaflet-sleep`

## Config

These are the new options available for `L.map` and their defaults.

{
// false if you want an unruly map
sleep: true,

// time(ms) until map sleeps on mouseout
sleepTime: 750,

// time(ms) until map wakes on mouseover
wakeTime: 750,

// should the user receive wake instrurctions?
sleepNote: true,

// should hovering wake the map? (non-touch devices only)
hoverToWake: true,

// a message to inform users about waking the map
wakeMessage: 'Click or Hover to Wake',

// a constructor for a control button
sleepButton: L.Control.sleepMapControl,

// opacity for the sleeping map
sleepOpacity: .7
}

## MIT Licensed
Loading

0 comments on commit 544ec13

Please sign in to comment.