Version Description
- Added: updated editor map list in the map editor now allows searching across all posts
- Fixed: POI list was not refreshing when filtering in some installations
Download this release
Release Info
Developer | chrisvrichardson |
Plugin | MapPress Easy Google Maps |
Version | 2.50 |
Comparing to | |
See all releases |
Code changes from version 2.49.8 to 2.50
- css/mappress.css +14 -0
- css/mappress_admin.css +27 -10
- forms/map_editor.php +2 -2
- forms/map_media.php +46 -9
- js/mappress.min.js +1 -1
- js/mappress_editor.min.js +1 -1
- languages/mappress-google-maps-for-wordpress.pot +64 -51
- languages/texts.php +5 -2
- mappress.php +4 -5
- mappress_map.php +34 -72
- readme.txt +5 -1
css/mappress.css
CHANGED
@@ -129,6 +129,11 @@ only screen and (min-device-pixel-ratio: 2) {
|
|
129 |
text-align: center;
|
130 |
}
|
131 |
|
|
|
|
|
|
|
|
|
|
|
132 |
.mapp-list .mapp-items {
|
133 |
}
|
134 |
|
@@ -163,6 +168,11 @@ only screen and (min-device-pixel-ratio: 2) {
|
|
163 |
text-decoration: none;
|
164 |
}
|
165 |
|
|
|
|
|
|
|
|
|
|
|
166 |
.mapp-list .mapp-item:hover .mapp-actions {
|
167 |
color: black;
|
168 |
visibility: visible;
|
@@ -199,6 +209,10 @@ only screen and (min-device-pixel-ratio: 2) {
|
|
199 |
text-align: center;
|
200 |
}
|
201 |
|
|
|
|
|
|
|
|
|
202 |
/*
|
203 |
-----------------------------------------------------------------------------------
|
204 |
layouts
|
129 |
text-align: center;
|
130 |
}
|
131 |
|
132 |
+
.mapp-list .mapp-list-footer {
|
133 |
+
padding: 5px;
|
134 |
+
text-align: center;
|
135 |
+
}
|
136 |
+
|
137 |
.mapp-list .mapp-items {
|
138 |
}
|
139 |
|
168 |
text-decoration: none;
|
169 |
}
|
170 |
|
171 |
+
.mobile .mapp-actions {
|
172 |
+
visibility: visible;
|
173 |
+
}
|
174 |
+
|
175 |
+
|
176 |
.mapp-list .mapp-item:hover .mapp-actions {
|
177 |
color: black;
|
178 |
visibility: visible;
|
209 |
text-align: center;
|
210 |
}
|
211 |
|
212 |
+
.mapp-list .spinner {
|
213 |
+
float: none;
|
214 |
+
}
|
215 |
+
|
216 |
/*
|
217 |
-----------------------------------------------------------------------------------
|
218 |
layouts
|
css/mappress_admin.css
CHANGED
@@ -14,10 +14,20 @@
|
|
14 |
-----------------------------------------------------------------------------------
|
15 |
*/
|
16 |
|
|
|
|
|
|
|
|
|
17 |
.mapp-media input[type="button"] {
|
18 |
vertical-align: middle;
|
19 |
}
|
20 |
|
|
|
|
|
|
|
|
|
|
|
|
|
21 |
.mapp-media-edit-panel {
|
22 |
display:none;
|
23 |
}
|
@@ -26,25 +36,33 @@
|
|
26 |
padding-right: 5px;
|
27 |
}
|
28 |
|
29 |
-
.mapp-media-toolbar {
|
30 |
margin-top: 5px;
|
31 |
}
|
32 |
|
33 |
.mapp-media-list {
|
34 |
-
|
35 |
-
margin-top: 5px;
|
36 |
}
|
37 |
|
38 |
-
.mapp-media-
|
39 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
40 |
}
|
41 |
|
42 |
-
.
|
43 |
-
|
|
|
44 |
}
|
45 |
|
46 |
-
|
47 |
-
|
48 |
}
|
49 |
|
50 |
/*
|
@@ -498,7 +516,6 @@ span.mapp-colorpicker-toggle {
|
|
498 |
*/
|
499 |
#mappress .mapp-support {
|
500 |
border-bottom: 1px solid lightgray;
|
501 |
-
margin-bottom: 10px;
|
502 |
padding-bottom: 10px;
|
503 |
}
|
504 |
|
14 |
-----------------------------------------------------------------------------------
|
15 |
*/
|
16 |
|
17 |
+
.mapp-media {
|
18 |
+
background-color: white;
|
19 |
+
}
|
20 |
+
|
21 |
.mapp-media input[type="button"] {
|
22 |
vertical-align: middle;
|
23 |
}
|
24 |
|
25 |
+
/* WP uses different height, font size & padding on input elements, at different screen resolutions */
|
26 |
+
.mapp-media input[type="text"], .mapp-media select {
|
27 |
+
height: auto !important;
|
28 |
+
padding: 3px 6px 3px 6px;
|
29 |
+
}
|
30 |
+
|
31 |
.mapp-media-edit-panel {
|
32 |
display:none;
|
33 |
}
|
36 |
padding-right: 5px;
|
37 |
}
|
38 |
|
39 |
+
.mapp-media-edit-toolbar {
|
40 |
margin-top: 5px;
|
41 |
}
|
42 |
|
43 |
.mapp-media-list {
|
44 |
+
max-height: 300px;
|
|
|
45 |
}
|
46 |
|
47 |
+
.mapp-media-header {
|
48 |
+
border-bottom: 1px solid lightgray;
|
49 |
+
}
|
50 |
+
|
51 |
+
.mapp-media-list-toolbar {
|
52 |
+
padding: 5px 0 5px 0;
|
53 |
+
}
|
54 |
+
|
55 |
+
.mapp-media-list-toolbar * {
|
56 |
+
vertical-align: middle;
|
57 |
}
|
58 |
|
59 |
+
.mapp-media-search {
|
60 |
+
display: none;
|
61 |
+
float: right;
|
62 |
}
|
63 |
|
64 |
+
input.mapp-media-title {
|
65 |
+
width: 100%;
|
66 |
}
|
67 |
|
68 |
/*
|
516 |
*/
|
517 |
#mappress .mapp-support {
|
518 |
border-bottom: 1px solid lightgray;
|
|
|
519 |
padding-bottom: 10px;
|
520 |
}
|
521 |
|
forms/map_editor.php
CHANGED
@@ -1,7 +1,7 @@
|
|
|
|
|
|
1 |
<script type='text/template' id='mapp-tmpl-edit-map'>
|
2 |
-
<div class='mapp-edit'>
|
3 |
<?php echo Mappress_Template::get_template('map', array('map' => $map)); ?>
|
4 |
-
</div>
|
5 |
</script>
|
6 |
|
7 |
<script type='text/template' id='mapp-tmpl-edit-loop'>
|
1 |
+
<div class='mapp-edit'></div>
|
2 |
+
|
3 |
<script type='text/template' id='mapp-tmpl-edit-map'>
|
|
|
4 |
<?php echo Mappress_Template::get_template('map', array('map' => $map)); ?>
|
|
|
5 |
</script>
|
6 |
|
7 |
<script type='text/template' id='mapp-tmpl-edit-loop'>
|
forms/map_media.php
CHANGED
@@ -1,12 +1,18 @@
|
|
1 |
<div class='mapp-media'>
|
2 |
-
|
3 |
-
|
4 |
-
<
|
5 |
-
|
6 |
-
|
7 |
-
|
|
|
|
|
|
|
8 |
</div>
|
9 |
</div>
|
|
|
|
|
|
|
10 |
|
11 |
<div class='mapp-media-edit-panel'>
|
12 |
<table class='mapp-settings'>
|
@@ -17,7 +23,7 @@
|
|
17 |
|
18 |
<tr>
|
19 |
<td><?php _e('Map Title', 'mappress-google-maps-for-wordpress');?>:</td>
|
20 |
-
<td><input class='mapp-media-title' type='text'
|
21 |
</tr>
|
22 |
|
23 |
<tr>
|
@@ -38,12 +44,43 @@
|
|
38 |
<td><input type='checkbox' class='mapp-media-viewport'></td>
|
39 |
</tr>
|
40 |
</table>
|
41 |
-
<div class='mapp-media-toolbar'>
|
42 |
<input data-mapp-media='save' class='button button-primary' type='button' value='<?php esc_attr_e('Save', 'mappress-google-maps-for-wordpress'); ?>' />
|
43 |
<input data-mapp-media='cancel' class='button' type='button' value='<?php esc_attr_e('Cancel', 'mappress-google-maps-for-wordpress'); ?>' />
|
44 |
<input data-mapp-media='insert' class='button' type='button' value='<?php esc_attr_e('Insert into post', 'mappress-google-maps-for-wordpress'); ?>' />
|
45 |
</div>
|
46 |
-
<div class='mapp-media-editor'></div>
|
47 |
<?php require Mappress::$basedir . "/forms/map_editor.php"; ?>
|
48 |
</div>
|
49 |
</div>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
<div class='mapp-media'>
|
2 |
+
<div class='mapp-media-header'>
|
3 |
+
<?php echo Mappress::get_support_links(); ?>
|
4 |
+
<div class='mapp-media-list-toolbar'>
|
5 |
+
<input data-mapp-media='add' class='button button-primary' type='button' value='<?php esc_attr_e('New Map', 'mappress-google-maps-for-wordpress')?>' />
|
6 |
+
<select class='mapp-media-list-type'>
|
7 |
+
<option value='post'><?php _e('This post', 'mappress-google-maps-for-wordpress');?></option>
|
8 |
+
<option value='all'><?php _e('All posts', 'mappress-google-maps-for-wordpress');?></option>
|
9 |
+
</select>
|
10 |
+
<input type='text' size="15" class='mapp-media-search' placeholder='<?php _e('Search post title', 'mappress-google-maps-for-wordpress');?>'>
|
11 |
</div>
|
12 |
</div>
|
13 |
+
<div class='mapp-media-list-panel'>
|
14 |
+
<div class='mapp-list mapp-media-list'></div>
|
15 |
+
</div>
|
16 |
|
17 |
<div class='mapp-media-edit-panel'>
|
18 |
<table class='mapp-settings'>
|
23 |
|
24 |
<tr>
|
25 |
<td><?php _e('Map Title', 'mappress-google-maps-for-wordpress');?>:</td>
|
26 |
+
<td><input class='mapp-media-title' type='text' placeholder='<?php _e('Untitled', 'mappress-google-maps-for-wordpress');?>' /></td>
|
27 |
</tr>
|
28 |
|
29 |
<tr>
|
44 |
<td><input type='checkbox' class='mapp-media-viewport'></td>
|
45 |
</tr>
|
46 |
</table>
|
47 |
+
<div class='mapp-media-edit-toolbar'>
|
48 |
<input data-mapp-media='save' class='button button-primary' type='button' value='<?php esc_attr_e('Save', 'mappress-google-maps-for-wordpress'); ?>' />
|
49 |
<input data-mapp-media='cancel' class='button' type='button' value='<?php esc_attr_e('Cancel', 'mappress-google-maps-for-wordpress'); ?>' />
|
50 |
<input data-mapp-media='insert' class='button' type='button' value='<?php esc_attr_e('Insert into post', 'mappress-google-maps-for-wordpress'); ?>' />
|
51 |
</div>
|
|
|
52 |
<?php require Mappress::$basedir . "/forms/map_editor.php"; ?>
|
53 |
</div>
|
54 |
</div>
|
55 |
+
|
56 |
+
<script type='text/template' id='mapp-tmpl-media-list'>
|
57 |
+
<div class='mapp-items'>
|
58 |
+
<# _.forEach(list.items, function(item, i) { #>
|
59 |
+
<div class='mapp-item' data-mapp-media='edit' data-mapp-mapid='{{ item.mapid }}'>
|
60 |
+
|
61 |
+
<# if (type == 'all') { #>
|
62 |
+
<# if (item.post_title) { #>{{ item.post_title }}<# } else { #><?php _e('Untitled', 'mappress-google-maps-for-wordpress');?><# } #>
|
63 |
+
-
|
64 |
+
<# } #>
|
65 |
+
|
66 |
+
<# if (item.map_title) { #>{{ item.map_title }}<# } else { #><?php _e('Untitled', 'mappress-google-maps-for-wordpress');?><# } #>
|
67 |
+
|
68 |
+
<div class='mapp-actions'>
|
69 |
+
<a href='#' data-mapp-media='edit'><?php _e('Edit', 'mappress-google-maps-for-wordpress');?></a> |
|
70 |
+
<a href='#' data-mapp-media='insert'><?php _e('Insert into post', 'mappress-google-maps-for-wordpress');?></a> |
|
71 |
+
<a href='#' data-mapp-media='remove'><?php _e('Delete', 'mappress-google-maps-for-wordpress');?></a>
|
72 |
+
</div>
|
73 |
+
</div>
|
74 |
+
<# }); #>
|
75 |
+
</div>
|
76 |
+
<div class='mapp-list-footer'>
|
77 |
+
<# if (list.items.length == 0) { #>
|
78 |
+
<?php _e('No maps found', 'mappress-google-maps-for-wordpress');?>
|
79 |
+
<# } #>
|
80 |
+
<# if (list.page < list.pages) { #>
|
81 |
+
<input type='button' class='button' data-mapp-media='more' value='<?php _e('Load More', 'mappress-google-maps-for-wordpress');?>'>
|
82 |
+
<span class='spinner'></span>
|
83 |
+
<# } #>
|
84 |
+
</div>
|
85 |
+
</div>
|
86 |
+
</script>
|
js/mappress.min.js
CHANGED
@@ -1 +1 @@
|
|
1 |
-
var mapp=window.mapp||{};+function(n){mapp.Map=function(n,t){this.defaults={center:null,editable:null,height:null,initialOpenDirections:null,initialOpenInfo:null,layers:null,mapid:null,mapTypeId:null,metaKey:null,mapOpts:null,name:null,pois:null,postid:null,query:null,title:null,width:null,zoom:null};this.highlight=null;this.iw=null;this.places=null;this.poi=null;this.settings=t?t:{};this.templates=null;this.dir_=null;this.div={};this.layers_={};this.map_=null;this.pois_=[];this.xhr_;this.zindex_=0;_.extend(this,this.defaults,_.pick(n,_.keys(this.defaults)),_.pick(this.settings,_.keys(this.defaults)))};mapp.Map.prototype={display:function(){var t=this,i;this.div.layout=n("#"+this.name+"-layout");n.each(["canvas","controls","dialog","directions","filters","iw","list","menu","search"],function(i,r){t.div[r]=n(".mapp-"+r,t.div.layout)});this.sanity();this.templates=this.editable?{loop:"edit-loop",item:"edit-item",popup:"edit-popup"}:this.query?{loop:"map-loop",item:"mashup-item",popup:"mashup-popup"}:{loop:"map-loop",item:"map-item",popup:"map-popup"};mappl10n.options.engine=="leaflet"?(i=_.extend({attribution:'Map data © <a href="https://openstreetmap.org">OpenStreetMap<\/a>',minZoom:0,worldCopyJump:!0,zoomControl:null},this.mapOpts),i.minZoom=isNaN(parseInt(i.minZoom))?0:parseInt(i.minZoom),this.map_=new L.Map(this.div.canvas.get(0),i),L.control.zoom({position:"bottomright",zoomInTitle:"",zoomOutTitle:""}).addTo(this.map_),this.iw=L.popup(),this.iw.setContent(this.div.iw.get(0))):(this.map_=new google.maps.Map(this.div.canvas.get(0),{mapTypeId:"roadmap",zoom:1}),i=_.extend({backgroundColor:"transparent",clickableIcons:!1,fullscreenControl:!1,keyboardShortcuts:!1,mapTypeControl:!0,mapTypeControlOptions:{position:google.maps.ControlPosition.TOP_RIGHT,style:google.maps.MapTypeControlStyle.DROPDOWN_MENU},minZoom:0,scaleControl:!0,scrollwheel:!1,streetViewControl:!this.editable&&!this.query},this.mapOpts),i.minZoom=isNaN(parseInt(i.minZoom))?0:parseInt(i.minZoom),this.map_.setOptions(i),this.toggleMapTypeId(this.mapTypeId,!0),this.iw=mappl10n.options.iwType=="ib"||this.editable?new mapp.InfoBox(this):new google.maps.InfoWindow,this.iw.setContent(this.div.iw.get(0)),mapp.event.addListenerOnce(this.map_,"idle",function(){var n=t.pois_.length?t.pois_[0]:null;t.initialOpenDirections?t.openDirections(null,n):n&&t.initialOpenInfo&&n.open()}),this.addLayers());this.addStyles();this.addControls();this.places=new mapp.Places(n(".mapp-places",this.div.search),{map:t});n(this.places).on("search.mapp",function(n,i){t.search(i)});this.addEvents("click drag",function(){t.close()});this.query&&mappl10n.options.search&&!this.editable&&this.addSearchMove();this.toggleView("mini",this.div.layout.width()<mappl10n.options.mini);this.div.layout.on("click","[data-mapp-action]",function(i){var r=n(this).attr("data-mapp-action");i.preventDefault();t.action(r,n(this).attr("data-mapp-"+r),n(this))});this.div.filters.on("change",function(){t.ajaxQuery(t.getBounds())});n("body").on("click",function(i){var r=n(i.target),u=r.attr("data-mapp-action");r==t.div.filters||u=="filters-toggle"||r.closest(t.div.filters).length||t.toggleView("filters",!1);r==t.div.menu||u=="menu-toggle"||r.closest(t.div.menu).length||t.toggleView("menu",!1)});n(window).resize(function(){t.resize()});this.query||this.setPois(this.pois);this.places.parse(this.center,function(n){t.query?n?t.search(n):t.ajaxQuery():(n&&n.geometry&&n.geometry.location&&(t.center=n.geometry.location),t.recenter())})},search:function(n){var i=n.geometry.location?n.geometry.location:null,t=n.geometry.viewport?n.geometry.viewport:null,f,u,r;mappl10n.options.engine=="leaflet"?(f=new L.LatLng(i.lat,i.lng),r=f.toBounds(mappl10n.options.radius*1e3)):(u=new google.maps.Circle({center:i,radius:mappl10n.options.radius*1e3}),r=t?new google.maps.LatLngBounds(new google.maps.LatLng(t.sw.lat,t.sw.lng),new google.maps.LatLng(t.ne.lat,t.ne.lng)).union(u.getBounds()):u.getBounds());this.fitBounds(r,0);this.setView(i);this.ajaxQuery(r)},load:function(n){_.extend(this,this.defaults,n,this.settings);this.toggleMapTypeId(this.mapTypeId,!0);this.toggleView("menu",!1);this.toggleLayer();this.close();this.setPois(this.pois_);this.places.set("")},action:function(t,i,r){var f=this,u;switch(t){case"center":this.toggleView("menu",!1);this.close();this.recenter();break;case"dir":this.openDirections(null,this.poi);break;case"dir-from":this.openDirections(this.poi,null);break;case"filters-reset":this.div.filters.find(":input").each(function(){this.type=="checkbox"||this.type=="radio"?n(this).prop("checked",!1):n(this).val("")});this.ajaxQuery(this.getBounds());break;case"filters-toggle":this.toggleView("filters");break;case"geolocate":this.places.geolocate(function(n){f.search(n)});break;case"layer":this.toggleLayer(i);this.toggleView("menu",!1);break;case"menu-toggle":this.toggleView("menu");break;case"open":u=r.attr("data-mapp-poi");this.open(this.pois_[u]);break;case"show":this.div.layout.show();this.resize();this.initCenter();break;case"view-map":this.toggleView("list",!1);break;case"view-list":this.toggleView("list",!0);break;default:return!0}},dialog:function(n,t){var i=this;n?(this.div.dialog.html(n),this.div.dialog.show(),t&&(clearTimeout(this.dialog.fade),this.dialog.fade=setTimeout(function(){i.dialog(null)},4e3))):this.div.dialog.hide()},addEvents:function(n,t){n=n.split(" ");for(var i=0;i<n.length;i++)mapp.event.addListener(this.map_,n[i],t)},close:function(){mappl10n.options.engine=="leaflet"?this.map_.closePopup():this.iw.close();this.select(null);n(this).triggerHandler("mapp.close")},openDirections:function(n,t){var i=n?n.getAddress():"",r=t?t.getAddress():"";this.dir_||(this.dir_=new mapp.Directions(this.div.directions,this));this.dir_.open(i,r)},sanity:function(){if(!this.div.canvas.length)return mapp.lib.log("MapPress: Missing map name or container for map: "+this.name);if(mappl10n.options.autoupdate==="tc")return mapp.lib.log("Maps API missing (800001)");if(typeof _=="undefined")return mapp.lib.alert("ERROR: underscore.js not loaded. Check cacheing / optimizing plugins.");if(mappl10n.options.engine=="leaflet"){if(typeof L=="undefined")return mapp.lib.alert("ERROR: Unable to load Leaflet")}else{if(typeof google=="undefined")return mapp.lib.alert("ERROR: Google Maps API not loaded");if(!mappl10n.options.apiKey)return mapp.lib.alert("ERROR: Google Maps API Key missing, please check MapPress settings and FAQ");n(document).ready(function(){n('script[src*="https://maps.googleapis.com/maps/api/js?v=3"]').length>1&&mapp.lib.alert("ERROR: Google Maps API key loaded multiple times, please see MapPress FAQ.")})}},select:function(t){if(n("[data-mapp-poi]",this.div.list).removeClass("mapp-selected"),t){var r=n.inArray(t,this.pois_),i=n('[data-mapp-poi="'+r+'"]',this.div.list);i.addClass("mapp-selected");mapp.lib.scrollTo(this.div.list,i);t.setZIndex(++this.zindex_)}this.poi=t},setHighlight:function(n){this.highlight&&(mappl10n.options.engine=="leaflet"?this.highlight.remove():this.highlight.setMap(null));n&&(mappl10n.options.engine=="leaflet"?this.highlight=new L.Marker(n.getPosition()).addTo(this.map_):(this.highlight=new google.maps.Marker({position:n.getPosition()}),this.highlight.setMap(this.map_)))},getMap:function(){return this.map_},renderList:function(){var i=this.getBounds(),r=0,u=this,t;if(!this.editable)for(t=0;t<this.pois_.length;t++)this.pois_[t].visible=this.pois_[t].type!="kml",this.query&&i&&!i.contains(this.pois_[t].point)&&(this.pois_[t].visible=!1),r+=this.pois_[t].visible;this.div.list.html(mapp.lib.template(this.templates.loop,{map:this,pois:this.pois_,count:r}));this.editable&&n(".mapp-items",u.sel).sortable({axis:"y",cursor:"move",delay:200,update:function(){u.sortPois(n(this).sortable("toArray",{attribute:"data-mapp-poi"}))}})},getPois:function(){return this.pois_},insertPoi:function(n){var t=this;this.pois_.unshift(n);n.setMap(this);t.renderList();this.select(n)},removePoi:function(t){var r=this,i=n.inArray(t,this.pois_);i!=-1&&(this.pois_[i].setMap(null),this.pois_.splice(i,1),r.renderList())},resetPois:function(){for(i=0;i<this.pois_.length;i++)this.pois_[i].setMap(null);this.pois_=[];this.zindex_=0},setPois:function(n){var t,i;if(this.resetPois(),n){for(t=0;t<n.length;t++)i=new mapp.Poi(n[t]),this.pois_.push(i),i.id=this.pois_.length-1,i.setMap(this),i.setZIndex(this.zindex_+n.length-1-t);this.zindex_+=n.length-1}this.renderList()},sortPois:function(n){for(var r,t=Array(),i=0;i<n.length;i++){if(r=parseInt(n[i]),isNaN(r))return!1;t.push(this.pois_[r])}if(t.length!=this.pois_.length)return!1;this.pois_=t;this.renderList()},open:function(t,i){if(this.close(),this.select(t),mappl10n.options.mashupClick!="poi"&&t.postid&&t.url){window.open(t.url);return}if(this.toggleView("list",!1),this.div.iw.html(t.render("popup")),mappl10n.options.engine=="leaflet")this.iw.setLatLng(t.getPosition()),this.iw.options.offset=t.getAnchorPoint(),this.map_.openPopup(this.iw);else{var r=new google.maps.MVCObject;r.setValues({position:t.getPosition(i),anchorPoint:t.getAnchorPoint(i)});this.iw.open(this.map_,r)}n(this).triggerHandler("mapp.open",t)},renderMenu:function(){var t=this;for(layer in this.layers_)this.layers_[layer].getMap()&&n('[data-mapp-layer="'+layer+'"]',this.div.layout).addClass("mapp-active")},addStyles:function(){var i=this,r,o,s,l,f,t,h,e;if(mappl10n.options.engine=="leaflet"){for(r=[],o=L.control.layers(),t=0;t<mappl10n.options.baseLayers.length;t++)s=mappl10n.options.baseLayers[t],l=mappl10n.options.providers[s.provider],r.push(n.extend({},l,s));for(f=_.findIndex(r,{name:i.mapTypeId}),f=f>=0?f:0,t=0;t<r.length;t++)h=L.tileLayer(r[t].url,r[t]),o.addBaseLayer(h,r[t].label),t==f&&h.addTo(this.map_);this.editable&&r.length>1&&o.addTo(i.map_);i.map_.on("baselayerchange",function(n){i.mapTypeId=n.layer.options.name})}else{var u=mappl10n.options.styles,c=mappl10n.options.style,a=["roadmap","satellite","terrain","hybrid"];if(c&&typeof u[c]!="undefined"&&this.map_.setOptions({styles:u[c]}),i.editable){for(e in u)this.map_.mapTypes.set(e,new google.maps.StyledMapType(u[e],{name:e})),a.push(e);this.map_.setOptions({mapTypeControlOptions:{mapTypeIds:a,position:google.maps.ControlPosition.TOP_RIGHT,style:google.maps.MapTypeControlStyle.DROPDOWN_MENU}})}else typeof u[i.mapTypeId]!="undefined"&&this.map_.setOptions({styles:u[i.mapTypeId]});mapp.event.addListener(this.map_,"maptypeid_changed",function(){i.mapTypeId=i.map_.getMapTypeId()})}},addControls:function(){var n=this;this.div.controls.html(mapp.lib.template("map-controls",{map:this}))},addLayers:function(){var u,i,t,r;for(this.layers_={traffic:new google.maps.TrafficLayer,bicycling:new google.maps.BicyclingLayer,transit:new google.maps.TransitLayer},u=n.makeArray(this.layers),i=0;i<u.length;i++)t=n.trim(u[i]),r=t.split(".").pop(),this.layers_[t]?this.toggleLayer(t):r=="kml"||r=="kmz"?this.layers_[t]=new google.maps.KmlLayer({map:this.map_,preserveViewport:!0,url:t}):r=="json"&&(this.layers_[t]=new google.maps.Data({map:this.map_}).loadGeoJson(t))},toggleLayer:function(t,i){var r=this;i=typeof i!="undefined"?i:this.layers_[t].getMap()==null;n.each(["traffic","bicycling","transit"],function(n,t){r.layers_[t].setMap(null)});i&&this.layers_[t].setMap(this.map_)},toggleMapTypeId:function(t,i){var u=this,r=n.inArray(t,["roadmap","satellite","terrain","hybrid"])!=-1;i=typeof i!="undefined"?i:!(this.getMapTypeId()==t);t=u.editable?i&&(r||typeof mappl10n.options.styles[t]!="undefined")?t:"roadmap":r?t:"roadmap";this.map_.setMapTypeId(t)},togglePois:function(n){n=!!n;for(var t=0;t<this.pois_.length;t++)this.pois_[t].setVisible(n)},toggleView:function(n,t){t=typeof t=="undefined"?!this.div.layout.hasClass("mapp-view-"+n):t;this.div.layout.toggleClass("mapp-view-"+n,t);n=="menu"&&t&&this.renderMenu();n=="directions"&&(this.close(),this.resize())},resize:function(){var n=this.getCenter();this.toggleView("mini",this.div.layout.width()<mappl10n.options.mini);mappl10n.options.engine=="leaflet"?this.map_.invalidateSize():mapp.event.trigger(this.map_,"resize");this.setView(n)},recenter:function(){var r=this.center&&this.center.lat&&this.center.lng?this.center:null,n=this.zoom&&parseInt(this.zoom)?parseInt(this.zoom):null,t,i;if(r){this.setView(r,n?n:1);return}if(this.pois_.length==0){this.setView({lat:0,lng:0},n?n:1);return}if(this.pois_.length==1){this.pois_[0].center(n);return}for(bounds=mappl10n.options.engine=="leaflet"?new L.LatLngBounds:new google.maps.LatLngBounds,t=0;t<this.pois_.length;t++)i=this.pois_[t].getBounds(),bounds=i?mappl10n.options.engine=="leaflet"?bounds.extend(i):bounds.union(i):bounds.extend(this.pois_[t].getPosition());this.fitBounds(bounds,0)},toJSON:function(){var n;for(this.pois=[],n=0;n<this.pois_.length;n++)this.pois.push(this.pois_[n].toJSON());return{center:this.center,height:this.height,mapid:this.mapid,mapTypeId:this.mapTypeId,metaKey:this.metaKey,pois:this.pois,title:this.title,width:this.width,zoom:this.zoom}},ajaxSave:function(n){var t=this,i=JSON.stringify(this),r=!this.mapid||!this.postid?mappl10n.options.postid:this.postid;mapp.lib.ajax({type:"POST",data:{action:"mapp_save",map:i,postid:r},callback:function(i){i.status=="OK"&&(t.mapid=i.data.mapid,n(i.data))}})},fitBounds:function(n){return this.map_.fitBounds(n)},getBounds:function(){try{return this.map_.getBounds()}catch(n){return null}},getCenter:function(){try{return this.map_.getCenter()}catch(n){return null}},getMapTypeId:function(n){return mappl10n.options.engine=="leaflet"?"roadmap":this.map_.getMapTypeId(n)},setView:function(n,t,i){mappl10n.options.engine=="leaflet"?(t==null&&(t=this.map_.getZoom()?this.map_.getZoom():0),this.map_.setView(n,t,i)):(n&&this.map_.setCenter(n),t&&this.map_.setZoom(t))}};mapp.Map.ajaxGet=function(n,t,i){mapp.lib.ajax({type:"GET",data:{action:"mapp_get",mapid:n},callback:function(n){if(n.status=="OK"){var r=new mapp.Map(n.data.map,t);i(r)}}})};mapp.Map.ajaxDelete=function(n,t){mapp.lib.ajax({type:"POST",data:{action:"mapp_delete",mapid:n},callback:function(n){n.status=="OK"&&t&&t()}})}}(jQuery);mapp=window.mapp||{};+function(n){mapp.Directions=function(t,i){this.sel=n(t);this.map=i;this.directionsRenderer=null;this.directionsService=null;this.placesService=null;var r=this;this.sel.on("keydown",function(n){n.which==13?(r.getDirections(),n.preventDefault()):n.which==27&&r.close()});this.sel.on("click","[data-mapp-action]",function(t){var i=n(this).attr("data-mapp-action"),u=n(".mapp-dir-daddr",r.sel).val(),f=n(".mapp-dir-saddr",r.sel).val();t.preventDefault();switch(i){case"dir-cancel":r.close();break;case"dir-get":r.getDirections();break;case"dir-myloc":r.map.places.geolocate(function(t){n(".mapp-dir-saddr",r.sel).val(t.name);r.getDirections()});break;case"dir-swap":n(".mapp-dir-saddr",r.sel).val(u);n(".mapp-dir-daddr",r.sel).val(f);r.getDirections()}});this.open=function(t,i){if(mappl10n.options.directions=="google"){this.openGoogle(t,i);return}this.map.toggleView("directions",!0);n(".mapp-dir-addr",this.sel).removeClass("mapp-error");n(".mapp-dir-saddr",this.sel).val(t);n(".mapp-dir-daddr",this.sel).val(i);n(".mapp-dir-get",this.sel).focus();n(".mapp-dir-saddr",this.sel).focus()};this.close=function(){this.map.toggleView("directions",!1);this.directionsRenderer&&(this.directionsRenderer.setPanel(null),this.directionsRenderer.getMap()&&(this.directionsRenderer.setMap(null),this.map.togglePois(!0)))};this.getDirections=function(){this.map.close();this.openGoogle(n(".mapp-dir-saddr",this.sel).val(),n(".mapp-dir-daddr",this.sel).val());return};this.openGoogle=function(n,t){var i=mappl10n.options.directionsServer;i.toLowerCase().indexOf("http")==-1&&(i="https://"+i);i+="?saddr="+encodeURIComponent(n);i+="&daddr="+encodeURIComponent(t);window.open(i)}}}(jQuery);mapp=window.mapp||{};mapp.geocoders={};+function(){mapp.geocoders.Algolia=function(n){this.map=n;this.places=algoliasearch.initPlaces()};mapp.geocoders.Algolia.prototype={geocode:function(n,t){var i=this;this.getPredictions(n,function(i){i&&i.hits.length?t({formatted_address:i.hits[0].locale_names[0],name:n,geometry:{location:{lat:i.hits[0]._geoloc.lat,lng:i.hits[0]._geoloc.lng}}}):t(null)})},getDetails:function(n,t){t({formatted_address:n.value,name:n.name,geometry:{location:n.latlng}})},getPredictions:function(n,t){this.places.search({query:n,language:mappl10n.options.language},function(n,i){n||!i?t(null):t(i)})}}}(jQuery);+function(n){mapp.geocoders.Google=function(t){this.map=t;this.token=null;this.types=this.map.editable?null:["geocode"];var i=n('<div style="display:none">').appendTo("body");this.placesService=new google.maps.places.PlacesService(i.get(0));this.autocompleteService=new google.maps.places.AutocompleteService;i.remove()};mapp.geocoders.Google.prototype={geocode:function(t,i){var r=this;this.getPredictions(t,function(t){t&&n.isArray(t)?r.getDetails(t[0],function(n){i(n)}):i(null)})},getDetails:function(n,t){this.token=this.token?this.token:new google.maps.places.AutocompleteSessionToken;this.token=null;var i={placeId:n.place_id,sessionToken:this.token};this.placesService.getDetails(i,function(n,i){if(i=="OK"&&n&&n.geometry){if(n.geometry.location&&(n.geometry.location=n.geometry.location.toJSON()),n.geometry.viewport){var r=n.geometry.viewport.toJSON();n.geometry.viewport={sw:{lat:r.south,lng:r.west},ne:{lat:r.north,lng:r.east}}}t(n)}else t(null)})},getPredictions:function(n,t){var i,r;this.token=this.token?this.token:new google.maps.places.AutocompleteSessionToken;i=this.map.getMap().getBounds();i=i?i:new google.maps.LatLngBounds(new google.maps.LatLng(85,-180),new google.maps.LatLng(-85,180));r={input:n,bounds:i,sessionToken:this.token,types:this.types};this.autocompleteService.getPlacePredictions(r,function(n,i){i=="OK"&&n&&n.length?t(n):(i==google.maps.places.PlacesServiceStatus.REQUEST_DENIED?alert("Google Maps API Key error: please enable the Places API in the Google Developer Console."):i==google.maps.places.PlacesServiceStatus.OVER_QUERY_LIMIT&&alert("Google Maps API Key has exceeded its query limit"),t(null))})}}}(jQuery);mapp=window.mapp||{};mapp.Icons={};mapp.Icons.get=function(){var n="https://maps.google.com/intl/en_us/mapfiles/ms/micons/red-dot.png";return mappl10n.options.engine=="leaflet"?L.icon({iconUrl:n,iconAnchor:[16,32],iconSize:[32,32],popupAnchor:[0,-16]}):{url:n}};mapp.Icons.getUrl=function(){return"https://maps.google.com/intl/en_us/mapfiles/ms/micons/red-dot.png"};mapp=window.mapp||{};+function(n){mapp.InfoBox=function(t,i){var f=n.extend({border:20},i),u=null,r=null,o,e=this;r=n('<div class="mapp-ib-wrapper" tabindex="0"><div class="mapp-ib" tabindex="0"><\/div><div class="mapp-ib-tip"><\/div><\/div>').appendTo(t.getMap().getDiv());jQuery(window).resize(function(){e.close()});r.on("keydown",function(n){n.which==27&&e.close()});r.on("click",".mapp-close",function(){e.close()});this.getContent=function(){return n(".mapp-ib",r)};this.setContent=function(t){n(".mapp-ib",r).empty().append(t)};this.open=function(n,t){u=t;this.setMap(n)};this.onAdd=function(){o=!1;var t=n(":input",r);r.show();t.length?t.first().focus():r.focus();google.maps.event.trigger(e,"domready")};this.draw=function(){var l=this.getMap(),a=n(".mapp-ib-body",r),s=this.getProjection().fromLatLngToContainerPixel(u.position),t,h,c,i,e;o||(o=!0,t={width:n(":first-child",l.getDiv()).width(),height:n(":first-child",l.getDiv()).height()},r.css({"max-height":"9999px",left:0,bottom:0,top:"auto",right:"auto"}),h=r.outerWidth(!0),c=r.outerHeight(!0),c>t.height+u.anchorPoint.y-2*f.border&&(c=t.height+u.anchorPoint.y-2*f.border,r.css({"max-height":c+2})),i=s.x,e=s.y,i+h/2>t.width&&(i=t.width-h/2),i-h/2<0&&(i=h/2),e-c+u.anchorPoint.y<f.border&&(e=c-u.anchorPoint.y+f.border),e>t.height&&(e=t.height),(s.x-i||s.y-e)&&l.panBy(s.x-i,s.y-e),r.css({left:i-h/2,bottom:t.height-e-u.anchorPoint.y}))};this.close=function(){r.is(":visible")&&(this.setMap(null),google.maps.event.trigger(this,"closed"))};this.onRemove=function(){r.hide()}};mappl10n.options.engine!="leaflet"&&(mapp.InfoBox.prototype=new google.maps.OverlayView)}(jQuery);mapp=window.mapp||{};+function(n){mapp.lib={ajax:function(t){var r=this,u,i;if(n.extend({type:"GET",cache:!1,data:null,spinner:null,callback:n.noop},t),t.cache)for(typeof mapp.lib.ajax.cache=="undefined"&&(mapp.lib.ajax.cache=[]),u=JSON.stringify(t.data),i=0;i<mapp.lib.ajax.cache.length;i++)if(mapp.lib.ajax.cache[i].hash==u){t.callback(mapp.lib.ajax.cache[i].response);return}return t.spinner&&t.spinner.show(),n.ajax({type:t.type,cache:!1,url:mappl10n.options.ajaxurl,data:t.data,success:function(n,i,u){if(t.spinner&&t.spinner.hide(),n.output){r.alert("AJAX Error\r\n"+n.output);return}if(n.status=="OK"){t.cache&&mapp.lib.ajax.cache.push({hash:JSON.stringify(t.data),response:n});t.callback&&t.callback(n,u);return}var f=typeof n=="object"?n.status:n;r.alert("AJAX ERROR\r\nResponse="+f+" TextStatus="+i+"\r\nResponseText="+u.responseText)},error:function(n,i,u){(t.spinner&&t.spinner.hide(),i!="cancel")&&typeof u!="undefined"&&u!=""&&r.alert("AJAX ERROR\r\nTextStatus="+i+"\r\nError="+u+"\r\nResponseText="+n.responseText)}})},alert:function(n){mappl10n.options.admin||mappl10n.options.debug?alert(n):window.console&&console.error(n)},jqVersionCheck:function(t){if(typeof n=="undefined"||typeof t=="undefined")return!1;for(t=t.split("."),v=n.fn.jquery.split("."),i=0;i<t.length;i++){var r=parseInt(t[i]),u=typeof v[i]!="undefined"?parseInt(v[i]):0;if(u!=r)return u>r}return!0},log:function(n){window.console&&console.error(n)},scrollTo:function(n,t){if(n&&t&&n.length&&t.length){var i=n.scrollTop(),u=n.height(),r=i+t.position().top,f=r+t.outerHeight(!0);r<i?n.scrollTop(r):f>i+u&&n.scrollTop(f-u)}},template:function(t,i){if(mapp.lib.templates=mapp.lib.templates?mapp.lib.templates:{},!mapp.lib.templates[t]){var r=mappl10n.options.templates?mappl10n.options.template[t]:n("#mapp-tmpl-"+t).html();if(r)mapp.lib.templates[t]=_.template(r.replace(/[\n\r\t]/g,""),null,{evaluate:/<#([\s\S]+?)#>/g,interpolate:/\{\{\{([\s\S]+?)\}\}\}/g,escape:/\{\{([^\}]+?)\}\}(?!\})/g});else return""}return mapp.lib.templates[t](i)}};mapp.lib.jqVersionCheck("1.7")||mapp.lib.alert("jQuery version is too old: "+n.fn.jquery);n("body").on("tabsactivate tabsshow",function(t,i){var r=i.newPanel?i.newPanel:i.panel;r&&n(".mapp-layout",r).each(function(){var i=n(this).find(".mapp-canvas").attr("id"),t=window[i];t.resize();t.recenter()})})}(jQuery);+function(){mappl10n.options.engine=="leaflet"&&(L.LatLng.prototype.toJSON=function(){return{lat:this.lat,lng:this.lng}},L.LatLngBounds.prototype.toJSON=function(){return{south:this.getSouth(),west:this.getWest(),north:this.getNorth(),east:this.getEast()}},L.LatLng.prototype.toUrlValue=function(){return Math.round(this.lat*1e6)/1e6+", "+Math.round(this.lng*1e6)/1e6});mapp.event={addListener:function(n,t,i){if(mappl10n.options.engine=="leaflet")n.on(t,i);else google.maps.event.addListener(n,t,i)},addListenerOnce:function(n,t,i){if(mappl10n.options.engine=="leaflet")n.once(t,i);else google.maps.event.addListenerOnce(n,t,i)},clearInstanceListeners:function(n){mappl10n.options.engine=="leaflet"?n.off():google.maps.event.clearInstanceListeners(n)},clearListeners:function(n,t){mappl10n.options.engine=="leaflet"?n.off(t):google.maps.event.clearListeners(n,"rightclick")},trigger:function(n,t,i){mappl10n.options.engine=="leaflet"?n.fire(t,i):google.maps.event.trigger(n,t,i)}}}(jQuery);mapp=window.mapp||{};jQuery.fn.AlgoliaAutocomplete=jQuery.fn.autocomplete.noConflict();+function(n){mapp.Places=function(t,i){var r=this;this.sel=n(t);this.opts=n.extend({map:null},i);this.geocoder=mappl10n.options.engine=="leaflet"?new mapp.geocoders.Algolia(this.opts.map):new mapp.geocoders.Google(this.opts.map);this.sel.on("keydown",function(t){if(t.which==13){t.preventDefault();var i=r.parseLatLng(r.sel.val());i&&(n(r).triggerHandler("search.mapp",i),r.sel.AlgoliaAutocomplete("close"),t.stopImmediatePropagation())}});this.autocomplete();this.sel.focus()};mapp.Places.prototype={parse:function(t,i){var f=this,u=t&&t.name?n.trim(t.name):n.trim(t),r;if(!u){i(null);return}if(u=="user"){this.geolocate(function(n){i(n)});return}if(t&&t.geometry){i(t);return}if(r=this.parseLatLng(t),r){i(r);return}this.geocoder.geocode(t,function(n){i(n)})},parseLatLng:function(t){var i,u,r;return t.lat&&t.lng?i=t:(u=t&&t.name?n.trim(t.name):n.trim(t),r=u.split(","),r.length!=2||isNaN(r[0])||isNaN(r[1])||(i={lat:r[0],lng:r[1]})),i?{name:i.lat+", "+i.lng,geometry:{location:i}}:null},geolocate:function(n){var t=this;if(!navigator||!navigator.geolocation){alert(mappl10n.no_geolocate);return}navigator.geolocation.getCurrentPosition(function(t){var i={lat:t.coords.latitude,lng:t.coords.longitude};n({name:i.lat+", "+i.lng,geometry:{location:i}})},function(t){var i=t&&t.message?" : "+t.message:"";alert(mappl10n.no_geolocate+i);n(null)},{timeout:15e3,enableHighAccuracy:!0,maximumAge:3e4})},autocomplete:function(){var t=this,r,i,u;this.sel.on("autocomplete:selected",function(i,r){t.geocoder.getDetails(r,function(i){t.parse(i,function(i){i&&n(t).triggerHandler("search.mapp",i)})})});r={empty:'<div class="list-group search-results-dropdown"><div class="list-group-item">'+mappl10n.no_results+"<\/div><\/div>",header:'<div class="list-group search-results-dropdown">',dropdownMenu:function(t){return n("<div>"+t.description+"<\/div>")}};mappl10n.options.engine=="leaflet"?(i={algoliasearch:algoliasearch,templates:r},mappl10n.options.country&&(i.countries=[mappl10n.options.country]),mappl10n.options.language&&(i.language=mappl10n.options.language),u=placesAutocompleteDataset(i)):u={display:"description",source:function(n,i){t.geocoder.getPredictions(n,function(n){matches=n;i(matches)})},templates:r};this.sel.AlgoliaAutocomplete({autoselect:!0,cssClasses:{prefix:"mapp-aa"},debug:!1,hint:!0,highlight:!0,minLength:1},u)}}}(jQuery);mapp=window.mapp||{};+function(n){mapp.Poi=function(t){var u,f,r,o,i,e,h,s;if(this.defaults={address:null,body:null,iconid:null,kml:null,map:null,overlay:null,postid:null,title:"",url:null,type:null,viewport:null},n.extend(this,this.defaults,t),t&&t.correctedAddress&&(this.address=t.correctedAddress),mappl10n.options.engine=="leaflet"&&this.isPoly()&&(this.type=null),t.viewport&&t.viewport.sw&&t.viewport.ne&&(u=t.viewport.sw,f=t.viewport.ne,this.viewport=mappl10n.options.engine=="leaflet"?new L.LatLngBounds(L.latLng(u.lat,u.lng),L.latLng(f.lat,f.lng)):new google.maps.LatLngBounds(new google.maps.LatLng(u.lat,u.lng),new google.maps.LatLng(f.lat,f.lng))),r=[],o=[],!t.overlay)switch(this.type){case"polygon":if(t.poly&&t.poly.paths)for(i=0;i<t.poly.paths.length;i++){for(r=[],e=0;e<t.poly.paths[i].length;e++)r.push(new google.maps.LatLng(t.poly.paths[i][e].lat,t.poly.paths[i][e].lng));o.push(new google.maps.MVCArray(r))}this.overlay=new google.maps.Polygon({paths:new google.maps.MVCArray(o)});this.setColors(t.poly);break;case"polyline":if(t.poly&&t.poly.path)for(i=0;i<t.poly.path.length;i++)r.push(new google.maps.LatLng(t.poly.path[i].lat,t.poly.path[i].lng));this.overlay=new google.maps.Polyline({path:new google.maps.MVCArray(r)});this.setColors(t.poly);break;case"circle":h=new google.maps.LatLng(t.point.lat,t.point.lng);this.overlay=new google.maps.Circle({center:h,radius:parseFloat(t.poly.radius)});this.setColors(t.poly);break;case"rectangle":this.overlay=new google.maps.Rectangle({bounds:this.viewport});this.setColors(t.poly);break;case"kml":s=t.kml&&t.kml.url?t.kml.url:"";this.overlay=mappl10n.options.engine=="leaflet"?omnivore.kml(s):new google.maps.KmlLayer(s,{preserveViewport:!0,suppressInfoWindows:!0});break;case"":default:this.overlay=mappl10n.options.engine=="leaflet"?L.marker([t.point.lat,t.point.lng]):new google.maps.Marker({position:new google.maps.LatLng(t.point.lat,t.point.lng)})}t.type||this.setIcon(t.iconid)};mapp.Poi.prototype={toJSON:function(){var n={address:this.address,body:this.body,correctedAddress:this.address,iconid:this.iconid,point:null,poly:null,title:this.title,type:this.type,viewport:null},u=this.getPosition(),i,t,r;if(n.point=u.toJSON(),i=this.viewport?this.viewport:this.getBounds(),i&&(t=i.toJSON(),n.viewport={sw:{lat:t.south,lng:t.west},ne:{lat:t.north,lng:t.east}}),this.type=="kml"&&(n.kml=this.kml),this.isPoly()){n.poly=this.getColors();switch(this.type){case"circle":n.poly.radius=this.overlay.getRadius();break;case"polyline":n.poly.path=[];this.overlay.getPath().forEach(function(t){n.poly.path.push(t.toJSON())});break;case"polygon":n.poly.paths=[];this.overlay.getPaths().forEach(function(t){var i=[];t.forEach(function(n){i.push(n.toJSON())});n.poly.paths.push(i)});break;case"rectangle":r=this.overlay.getBounds();n.viewport={sw:r.getSouthWest().toJSON(),ne:r.getNorthEast().toJSON()}}}return n},setMap:function(t){var i=this;if(this.map=t,mapp.event.clearInstanceListeners(this.overlay),t==null){mappl10n.options.engine=="leaflet"?this.overlay.remove():this.overlay.setMap(null);return}this.type=="kml"&&(mappl10n.options.engine=="leaflet"?(mapp.event.addListenerOnce(this.overlay,"ready",function(){i.viewport=i.overlay.getBounds()}),mapp.event.addListenerOnce(this.overlay,"error",function(){alert(mappl10n.kml_error)})):(mapp.event.addListener(this.overlay,"defaultviewport_changed",function(){i.viewport=i.overlay.getDefaultViewport()}),mapp.event.addListener(this.overlay,"status_changed",function(){var n=i.overlay.getStatus();n!="OK"&&mappl10n.ajaxErrors&&alert(mappl10n.kml_error+":"+n)})));mapp.event.addListener(this.overlay,"click",function(n){i.open(n)});this.setTitle(n("<div>").html(this.title).text());this.setEditable(this.map.editable);mappl10n.options.engine=="leaflet"?this.overlay.addTo(t.getMap()):this.overlay.setMap(t.getMap())},setEditable:function(n){var t=this;this.type!="kml"&&(mappl10n.options.engine=="leaflet"?this.overlay.options.draggable=n:this.overlay.setDraggable(n),this.isPoly()&&this.overlay.setEditable(n),mapp.event.clearListeners(this.overlay,"rightclick"),mapp.event.clearListeners(this.overlay,"dragstart"),n&&(mapp.event.addListener(this.overlay,"dragstart",function(){t.viewport=null;t.map.close()}),(this.type=="polygon"||this.type=="polyline")&&mapp.event.addListener(this.overlay,"rightclick",function(n){n.vertex!=null&&t.overlay.getPath().getLength()>2&&t.overlay.getPath().removeAt(n.vertex)})))},setTitle:function(n){this.type||(mappl10n.options.engine=="leaflet"?this.overlay.title=n:this.overlay.setTitle(n))},setZIndex:function(n){mappl10n.options.engine=="leaflet"?this.type||this.overlay.setZIndexOffset(n):this.overlay.set("zIndex",n)},setIcon:function(n){this.type||typeof mapp.Icons=="undefined"||(this.iconid=n,mappl10n.options.engine=="leaflet"?this.overlay.setIcon(mapp.Icons.get(n)):(this.overlay.setIcon(null),this.overlay.setIcon(mapp.Icons.get(n))))},setVisible:function(n){typeof this.overlay.setVisible!="undefined"&&this.overlay.setVisible(n)},setColors:function(n){var i={};for(var t in{strokeColor:"",strokeOpacity:"",strokeWeight:"",fillColor:"",fillOpacity:""})n&&typeof n[t]!="undefined"&&(i[t]=n[t]);this.overlay.setOptions(i)},setTemplateColors:function(n,t,i){var r=this.type=="polyline"?{strokeColor:n,strokeOpacity:t/100,strokeWeight:i}:{fillColor:n,fillOpacity:t/100,strokeColor:n,strokeWeight:i,strokeOpacity:1};this.setColors(r)},getColors:function(){var t={};for(var n in{strokeColor:"",strokeOpacity:"",strokeWeight:"",fillColor:"",fillOpacity:""})typeof this.overlay[n]!="undefined"&&(t[n]=this.overlay[n]);return t},getTemplateColors:function(){var n=this.getColors();return this.type=="polyline"?{color:n.strokeColor,opacity:n.strokeOpacity*100,weight:n.strokeWeight}:{color:n.fillColor,opacity:n.fillOpacity*100,weight:n.strokeWeight}},center:function(n){var t=this.getBounds();if(typeof n=="number"){this.map.setView(this.getPosition(),n);return}if(!t){this.map.setView(this.getPosition(),parseInt(mappl10n.options.poiZoom));return}this.map.fitBounds(t);this.map.setView(this.getPosition(),n)},open:function(n){this.map.open(this,n)},isPoly:function(){return jQuery.inArray(this.type,["polyline","polygon","circle","rectangle"])!=-1},getBounds:function(){var n;switch(this.type){case"polyline":n=new google.maps.LatLngBounds;this.overlay.getPath().forEach(function(t){n.extend(t)});break;case"polygon":n=new google.maps.LatLngBounds;this.overlay.getPaths().forEach(function(t){t.forEach(function(t){n.extend(t)})});break;case"rectangle":case"circle":n=this.overlay.getBounds();break;case"kml":n=mappl10n.options.engine=="leaflet"?this.overlay.getBounds().isValid()?this.overlay.getBounds():null:this.overlay.getDefaultViewport();n=n?n:this.viewport;break;default:return this.viewport}return n},getPosition:function(n){if(!this.type)return mappl10n.options.engine=="leaflet"?this.overlay.getLatLng():this.overlay.getPosition();if(this.type=="kml"&&n&&n.latLng)return n.latLng;var t=this.getBounds();return t?t.getCenter():mappl10n.options.engine=="leaflet"?new L.latLng(0,0):new google.maps.LatLng(0,0)},getAddress:function(){return this.address?this.address:this.type=="kml"?this.kml.url:this.getPosition().toUrlValue()},getAnchorPoint:function(n){var t=this.isPoly()?"poly":this.type;switch(t){case"kml":return mappl10n.options.engine=="leaflet"?[0,0]:n&&n.pixelOffset?new google.maps.Point(n.pixelOffset.width,n.pixelOffset.height):new google.maps.Point(0,0);case"poly":return mappl10n.options.engine=="leaflet"?[0,0]:new google.maps.Point(0,0);default:return mappl10n.options.engine=="leaflet"?this.overlay.options.icon.options.popupAnchor?this.overlay.options.icon.options.popupAnchor:[0,-32]:typeof this.overlay.anchorPoint!="undefined"?this.overlay.anchorPoint:new google.maps.Point(0,-32)}},render:function(n){return this.icon=mapp.Icons.getUrl(this.iconid),mapp.lib.template(this.map.templates[n],{poi:this,colors:this.getTemplateColors()})}}}(jQuery);mapp=window.mapp||{};mapp.widgets={};+function(n){mapp.widgets.Grid=function(t,i){this.el=n(t);this.options=jQuery.extend({action:null,sortable:!1},i);var r=this;this.table=n("table",this.el);this.template=n("script",this.el).html().replace(new RegExp("'","g"),'"');this.el.on("click",function(t){var u=n(t.target),i=u.attr("data-mapp-action");i&&(r[i](t),t.preventDefault())})};mapp.widgets.Grid.prototype={add:function(){this.table.show();var t=n(this.template).appendTo(this.table);n(":input:eq(0)",t).focus()},remove:function(t){var i=n(t.target).closest("tr").remove();n("tbody > tr",this.table).length||this.table.hide()}}}(jQuery);+function(n){mapp.widgets.Popup=function(t,i){var r,u;if(this.activeToggle=null,this.content=t,this.el=null,r=this,this.options=n.extend({max:!1,modal:!1,position:null,toggle:null},i),this.options.modal?this.el=this.content.addClass("mapp-popup-fixed"):(this.el=n('<div class="mapp-popup">'),this.setContent(t)),this.el.attr("tabindex",0),this.options.max&&this.el.addClass("mapp-popup-max"),this.el.hide(),!this.options.modal)n(document).on("click.mapp.popup",function(t){n.contains(r.el.get(0),t.target)||r.el.get(0)==t.target||r.close()});if(this.options.toggle){u=typeof this.options.toggle=="string"?this.options.toggle:this.options.toggle.selector;n(document).on("click",u,function(t){r.activeToggle=n(this);r.open();t.stopPropagation()})}this.el.on("click",".mapp-close",function(){r.close()});this.el.on("keydown",function(n){n.which==27&&r.close()});return this};mapp.widgets.Popup.prototype={close:function(){this.el&&this.el.is(":visible")&&(this.backdrop&&(this.backdrop.remove(),n("body").removeClass("mapp-popup-modal")),this.el.hide(),this.activeToggle&&this.activeToggle.focus(),this.el.trigger("closed.mapp.popup"))},open:function(){var t=this;this.options.modal||this.el.parent().length||this.el.appendTo("body");this.el.show();this.options.modal?(this.backdrop=n('<div class="mapp-popup-backdrop"><\/div>'),this.el.after(this.backdrop),n("body").addClass("mapp-popup-modal")):this.el.position(n.extend({my:"center bottom",at:"center top-5",of:this.activeToggle,collision:"flipfit"},this.options.position));this.el.focus();this.el.trigger("open.mapp.popup")},setContent:function(n){this.el.empty();this.el.append('<span class="mapp-close">').append(n)},toggle:function(){this.el.is(":visible")?this.close():this.open()}}}(jQuery);+function(){mapp.load=function(){if(typeof mapp!="undefined"&&mapp.data)while(mapp.data.length){var n=mapp.data.pop();window[n.name]=new mapp.Map(n);window[n.name].display()}}}(jQuery);typeof mapp.Media!="undefined"?window.mappEditor=new mapp.Media:mapp.load()
|
1 |
+
var mapp=window.mapp||{};+function(n){mapp.Map=function(n,t){this.defaults={center:null,editable:null,height:null,initialOpenDirections:null,initialOpenInfo:null,layers:null,mapid:null,mapTypeId:null,metaKey:null,mapOpts:null,name:null,pois:null,postid:null,query:null,title:null,width:null,zoom:null};this.highlight=null;this.iw=null;this.places=null;this.poi=null;this.settings=t?t:{};this.templates=null;this.dir_=null;this.div={};this.layers_={};this.map_=null;this.pois_=[];this.xhr_;this.zindex_=0;_.extend(this,this.defaults,_.pick(n,_.keys(this.defaults)),_.pick(this.settings,_.keys(this.defaults)))};mapp.Map.prototype={display:function(){var t=this,i;this.div.layout=n("#"+this.name+"-layout");n.each(["canvas","controls","dialog","directions","filters","iw","list","menu","search"],function(i,r){t.div[r]=n(".mapp-"+r,t.div.layout)});this.sanity();this.templates=this.editable?{loop:"edit-loop",item:"edit-item",popup:"edit-popup"}:this.query?{loop:"map-loop",item:"mashup-item",popup:"mashup-popup"}:{loop:"map-loop",item:"map-item",popup:"map-popup"};mappl10n.options.engine=="leaflet"?(i=_.extend({attribution:'Map data © <a href="https://openstreetmap.org">OpenStreetMap<\/a>',minZoom:0,scrollWheelZoom:!1,worldCopyJump:!0,zoomControl:null},this.mapOpts),i.minZoom=isNaN(parseInt(i.minZoom))?0:parseInt(i.minZoom),this.map_=new L.Map(this.div.canvas.get(0),i),L.control.zoom({position:"bottomright",zoomInTitle:"",zoomOutTitle:""}).addTo(this.map_),this.iw=L.popup(),this.iw.setContent(this.div.iw.get(0))):(this.map_=new google.maps.Map(this.div.canvas.get(0),{mapTypeId:"roadmap",zoom:1}),i=_.extend({backgroundColor:"transparent",clickableIcons:!1,fullscreenControl:!1,keyboardShortcuts:!1,mapTypeControl:!0,mapTypeControlOptions:{position:google.maps.ControlPosition.TOP_RIGHT,style:google.maps.MapTypeControlStyle.DROPDOWN_MENU},minZoom:0,scaleControl:!0,scrollwheel:!1,streetViewControl:!this.editable&&!this.query},this.mapOpts),i.minZoom=isNaN(parseInt(i.minZoom))?0:parseInt(i.minZoom),this.map_.setOptions(i),this.toggleMapTypeId(this.mapTypeId,!0),this.iw=mappl10n.options.iwType=="ib"||this.editable?new mapp.InfoBox(this):new google.maps.InfoWindow,this.iw.setContent(this.div.iw.get(0)),mapp.event.addListenerOnce(this.map_,"idle",function(){var n=t.pois_.length?t.pois_[0]:null;t.initialOpenDirections?t.openDirections(null,n):n&&t.initialOpenInfo&&n.open()}),this.addLayers());this.addStyles();this.addControls();this.places=new mapp.Places(n(".mapp-places",this.div.search),{map:t});n(this.places).on("search.mapp",function(n,i){t.search(i)});this.addEvents("click drag",function(){t.close()});this.query&&mappl10n.options.search&&!this.editable&&this.addSearchMove();this.toggleView("mini",this.div.layout.width()<mappl10n.options.mini);this.div.layout.on("click","[data-mapp-action]",function(i){var r=n(this).attr("data-mapp-action");i.preventDefault();t.action(r,n(this).attr("data-mapp-"+r),n(this))});this.div.filters.on("change",function(){t.ajaxQuery(t.getBounds())});n("body").on("click",function(i){var r=n(i.target),u=r.attr("data-mapp-action");r==t.div.filters||u=="filters-toggle"||r.closest(t.div.filters).length||t.toggleView("filters",!1);r==t.div.menu||u=="menu-toggle"||r.closest(t.div.menu).length||t.toggleView("menu",!1)});n(window).resize(function(){t.resize()});this.query||this.setPois(this.pois);this.places.parse(this.center,function(n){t.query?n?t.search(n):t.ajaxQuery():(n&&n.geometry&&n.geometry.location&&(t.center=n.geometry.location),t.recenter())})},search:function(n){var i=n.geometry.location?n.geometry.location:null,t=n.geometry.viewport?n.geometry.viewport:null,f,u,r;mappl10n.options.engine=="leaflet"?(f=new L.LatLng(i.lat,i.lng),r=f.toBounds(mappl10n.options.radius*1e3)):(u=new google.maps.Circle({center:i,radius:mappl10n.options.radius*1e3}),r=t?new google.maps.LatLngBounds(new google.maps.LatLng(t.sw.lat,t.sw.lng),new google.maps.LatLng(t.ne.lat,t.ne.lng)).union(u.getBounds()):u.getBounds());this.fitBounds(r,0);this.setView(i);this.ajaxQuery(r)},load:function(n){_.extend(this,this.defaults,n,this.settings);this.toggleMapTypeId(this.mapTypeId,!0);this.toggleView("menu",!1);this.toggleLayer();this.close();this.setPois(this.pois_);this.places.set("")},action:function(t,i,r){var f=this,u;switch(t){case"center":this.toggleView("menu",!1);this.close();this.recenter();break;case"dir":this.openDirections(null,this.poi);break;case"dir-from":this.openDirections(this.poi,null);break;case"filters-reset":this.div.filters.find(":input").each(function(){this.type=="checkbox"||this.type=="radio"?n(this).prop("checked",!1):n(this).val("")});this.ajaxQuery(this.getBounds());break;case"filters-toggle":this.toggleView("filters");break;case"geolocate":this.places.geolocate(function(n){f.search(n)});break;case"layer":this.toggleLayer(i);this.toggleView("menu",!1);break;case"menu-toggle":this.toggleView("menu");break;case"open":u=r.attr("data-mapp-poi");this.open(this.pois_[u]);break;case"show":this.div.layout.show();this.resize();this.initCenter();break;case"view-map":this.toggleView("list",!1);break;case"view-list":this.toggleView("list",!0);break;default:return!0}},dialog:function(n,t){var i=this;n?(this.div.dialog.html(n),this.div.dialog.show(),t&&(clearTimeout(this.dialog.fade),this.dialog.fade=setTimeout(function(){i.dialog(null)},4e3))):this.div.dialog.hide()},addEvents:function(n,t){n=n.split(" ");for(var i=0;i<n.length;i++)mapp.event.addListener(this.map_,n[i],t)},close:function(){mappl10n.options.engine=="leaflet"?this.map_.closePopup():this.iw.close();this.select(null);n(this).triggerHandler("mapp.close")},openDirections:function(n,t){var i=n?n.getAddress():"",r=t?t.getAddress():"";this.dir_||(this.dir_=new mapp.Directions(this.div.directions,this));this.dir_.open(i,r)},sanity:function(){if(!this.div.canvas.length)return mapp.lib.log("MapPress: Missing map name or container for map: "+this.name);if(mappl10n.options.autoupdate==="tc")return mapp.lib.log("Maps API missing (800001)");if(typeof _=="undefined")return mapp.lib.alert("ERROR: underscore.js not loaded. Check cacheing / optimizing plugins.");if(mappl10n.options.engine=="leaflet"){if(typeof L=="undefined")return mapp.lib.alert("ERROR: Unable to load Leaflet")}else{if(typeof google=="undefined")return mapp.lib.alert("ERROR: Google Maps API not loaded");if(!mappl10n.options.apiKey)return mapp.lib.alert("ERROR: Google Maps API Key missing, please check MapPress settings and FAQ");n(document).ready(function(){n('script[src*="https://maps.googleapis.com/maps/api/js?v=3"]').length>1&&mapp.lib.alert("ERROR: Google Maps API key loaded multiple times, please see MapPress FAQ.")})}},select:function(t){if(n("[data-mapp-poi]",this.div.list).removeClass("mapp-selected"),t){var r=n.inArray(t,this.pois_),i=n('[data-mapp-poi="'+r+'"]',this.div.list);i.addClass("mapp-selected");mapp.lib.scrollTo(this.div.list,i);t.setZIndex(++this.zindex_)}this.poi=t},setHighlight:function(n){this.highlight&&(mappl10n.options.engine=="leaflet"?this.highlight.remove():this.highlight.setMap(null));n&&(mappl10n.options.engine=="leaflet"?this.highlight=new L.Marker(n.getPosition()).addTo(this.map_):(this.highlight=new google.maps.Marker({position:n.getPosition()}),this.highlight.setMap(this.map_)))},getMap:function(){return this.map_},renderList:function(){var i=this.getBounds(),r=0,u=this,t;if(!this.editable)for(t=0;t<this.pois_.length;t++)this.pois_[t].visible=this.pois_[t].type!="kml",this.query&&i&&!i.contains(this.pois_[t].getPosition())&&(this.pois_[t].visible=!1),r+=this.pois_[t].visible;this.div.list.html(mapp.lib.template(this.templates.loop,{map:this,pois:this.pois_,count:r}));this.editable&&n(".mapp-items",u.sel).sortable({axis:"y",cursor:"move",delay:200,update:function(){u.sortPois(n(this).sortable("toArray",{attribute:"data-mapp-poi"}))}})},getPois:function(){return this.pois_},insertPoi:function(n){var t=this;this.pois_.unshift(n);n.setMap(this);t.renderList();this.select(n)},removePoi:function(t){var r=this,i=n.inArray(t,this.pois_);i!=-1&&(this.pois_[i].setMap(null),this.pois_.splice(i,1),r.renderList())},resetPois:function(){for(i=0;i<this.pois_.length;i++)this.pois_[i].setMap(null);this.pois_=[];this.zindex_=0},setPois:function(n){var t,i;if(this.resetPois(),n){for(t=0;t<n.length;t++)i=new mapp.Poi(n[t]),this.pois_.push(i),i.id=this.pois_.length-1,i.setMap(this),i.setZIndex(this.zindex_+n.length-1-t);this.zindex_+=n.length-1}this.renderList()},sortPois:function(n){for(var r,t=Array(),i=0;i<n.length;i++){if(r=parseInt(n[i]),isNaN(r))return!1;t.push(this.pois_[r])}if(t.length!=this.pois_.length)return!1;this.pois_=t;this.renderList()},open:function(t,i){if(this.close(),this.select(t),mappl10n.options.mashupClick!="poi"&&t.postid&&t.url){window.open(t.url);return}if(this.toggleView("list",!1),this.div.iw.html(t.render("popup")),mappl10n.options.engine=="leaflet")this.iw.setLatLng(t.getPosition()),this.iw.options.offset=t.getAnchorPoint(),this.map_.openPopup(this.iw);else{var r=new google.maps.MVCObject;r.setValues({position:t.getPosition(i),anchorPoint:t.getAnchorPoint(i)});this.iw.open(this.map_,r)}n(this).triggerHandler("mapp.open",t)},renderMenu:function(){var t=this;for(layer in this.layers_)this.layers_[layer].getMap()&&n('[data-mapp-layer="'+layer+'"]',this.div.layout).addClass("mapp-active")},addStyles:function(){var i=this,r,o,s,l,f,t,h,e;if(mappl10n.options.engine=="leaflet"){for(r=[],o=L.control.layers(),t=0;t<mappl10n.options.baseLayers.length;t++)s=mappl10n.options.baseLayers[t],l=mappl10n.options.providers[s.provider],r.push(n.extend({},l,s));for(f=_.findIndex(r,{name:i.mapTypeId}),f=f>=0?f:0,t=0;t<r.length;t++)h=L.tileLayer(r[t].url,r[t]),o.addBaseLayer(h,r[t].label),t==f&&h.addTo(this.map_);this.editable&&r.length>1&&o.addTo(i.map_);i.map_.on("baselayerchange",function(n){i.mapTypeId=n.layer.options.name})}else{var u=mappl10n.options.styles,c=mappl10n.options.style,a=["roadmap","satellite","terrain","hybrid"];if(c&&typeof u[c]!="undefined"&&this.map_.setOptions({styles:u[c]}),i.editable){for(e in u)this.map_.mapTypes.set(e,new google.maps.StyledMapType(u[e],{name:e})),a.push(e);this.map_.setOptions({mapTypeControlOptions:{mapTypeIds:a,position:google.maps.ControlPosition.TOP_RIGHT,style:google.maps.MapTypeControlStyle.DROPDOWN_MENU}})}else typeof u[i.mapTypeId]!="undefined"&&this.map_.setOptions({styles:u[i.mapTypeId]});mapp.event.addListener(this.map_,"maptypeid_changed",function(){i.mapTypeId=i.map_.getMapTypeId()})}},addControls:function(){var n=this;this.div.controls.html(mapp.lib.template("map-controls",{map:this}))},addLayers:function(){var u,i,t,r;for(this.layers_={traffic:new google.maps.TrafficLayer,bicycling:new google.maps.BicyclingLayer,transit:new google.maps.TransitLayer},u=n.makeArray(this.layers),i=0;i<u.length;i++)t=n.trim(u[i]),r=t.split(".").pop(),this.layers_[t]?this.toggleLayer(t):r=="kml"||r=="kmz"?this.layers_[t]=new google.maps.KmlLayer({map:this.map_,preserveViewport:!0,url:t}):r=="json"&&(this.layers_[t]=new google.maps.Data({map:this.map_}).loadGeoJson(t))},toggleLayer:function(t,i){var r=this;i=typeof i!="undefined"?i:this.layers_[t].getMap()==null;n.each(["traffic","bicycling","transit"],function(n,t){r.layers_[t].setMap(null)});i&&this.layers_[t].setMap(this.map_)},toggleMapTypeId:function(t,i){var u=this,r=n.inArray(t,["roadmap","satellite","terrain","hybrid"])!=-1;i=typeof i!="undefined"?i:!(this.getMapTypeId()==t);t=u.editable?i&&(r||typeof mappl10n.options.styles[t]!="undefined")?t:"roadmap":r?t:"roadmap";this.map_.setMapTypeId(t)},togglePois:function(n){n=!!n;for(var t=0;t<this.pois_.length;t++)this.pois_[t].setVisible(n)},toggleView:function(n,t){t=typeof t=="undefined"?!this.div.layout.hasClass("mapp-view-"+n):t;this.div.layout.toggleClass("mapp-view-"+n,t);n=="menu"&&t&&this.renderMenu();n=="directions"&&(this.close(),this.resize())},resize:function(){var n=this.getCenter();this.toggleView("mini",this.div.layout.width()<mappl10n.options.mini);mappl10n.options.engine=="leaflet"?this.map_.invalidateSize():mapp.event.trigger(this.map_,"resize");this.setView(n)},recenter:function(){var r=this.center&&this.center.lat&&this.center.lng?this.center:null,n=this.zoom&&parseInt(this.zoom)?parseInt(this.zoom):null,t,i;if(r){this.setView(r,n?n:1);return}if(this.pois_.length==0){this.setView({lat:0,lng:0},n?n:1);return}if(this.pois_.length==1){this.pois_[0].center(n);return}for(bounds=mappl10n.options.engine=="leaflet"?new L.LatLngBounds:new google.maps.LatLngBounds,t=0;t<this.pois_.length;t++)i=this.pois_[t].getBounds(),bounds=i?mappl10n.options.engine=="leaflet"?bounds.extend(i):bounds.union(i):bounds.extend(this.pois_[t].getPosition());this.fitBounds(bounds,0)},toJSON:function(){var n;for(this.pois=[],n=0;n<this.pois_.length;n++)this.pois.push(this.pois_[n].toJSON());return{center:this.center,height:this.height,mapid:this.mapid,mapTypeId:this.mapTypeId,metaKey:this.metaKey,pois:this.pois,title:this.title,width:this.width,zoom:this.zoom}},ajaxSave:function(n){var t=this,i=JSON.stringify(this),r=!this.mapid||!this.postid?mappl10n.options.postid:this.postid;mapp.lib.ajax({type:"POST",data:{action:"mapp_save",map:i,postid:r},callback:function(i){i.status=="OK"&&(t.mapid=i.data.mapid,n(i.data))}})},fitBounds:function(n){return this.map_.fitBounds(n)},getBounds:function(){try{return this.map_.getBounds()}catch(n){return null}},getCenter:function(){try{return this.map_.getCenter()}catch(n){return null}},getMapTypeId:function(n){return mappl10n.options.engine=="leaflet"?"roadmap":this.map_.getMapTypeId(n)},setView:function(n,t,i){mappl10n.options.engine=="leaflet"?(t==null&&(t=this.map_.getZoom()?this.map_.getZoom():0),this.map_.setView(n,t,i)):(n&&this.map_.setCenter(n),t&&this.map_.setZoom(t))}};mapp.Map.ajaxGet=function(n,t,i){mapp.lib.ajax({type:"GET",data:{action:"mapp_get",mapid:n},callback:function(n){if(n.status=="OK"){var r=new mapp.Map(n.data.map,t);i(r)}}})};mapp.Map.ajaxDelete=function(n,t){mapp.lib.ajax({type:"POST",data:{action:"mapp_delete",mapid:n},callback:function(n){n.status=="OK"&&t&&t()}})}}(jQuery);mapp=window.mapp||{};+function(n){mapp.Directions=function(t,i){this.sel=n(t);this.map=i;this.directionsRenderer=null;this.directionsService=null;this.placesService=null;var r=this;this.sel.on("keydown",function(n){n.which==13?(r.getDirections(),n.preventDefault()):n.which==27&&r.close()});this.sel.on("click","[data-mapp-action]",function(t){var i=n(this).attr("data-mapp-action"),u=n(".mapp-dir-daddr",r.sel).val(),f=n(".mapp-dir-saddr",r.sel).val();t.preventDefault();switch(i){case"dir-cancel":r.close();break;case"dir-get":r.getDirections();break;case"dir-myloc":r.map.places.geolocate(function(t){n(".mapp-dir-saddr",r.sel).val(t.name);r.getDirections()});break;case"dir-swap":n(".mapp-dir-saddr",r.sel).val(u);n(".mapp-dir-daddr",r.sel).val(f);r.getDirections()}});this.open=function(t,i){if(mappl10n.options.directions=="google"){this.openGoogle(t,i);return}this.map.toggleView("directions",!0);n(".mapp-dir-addr",this.sel).removeClass("mapp-error");n(".mapp-dir-saddr",this.sel).val(t);n(".mapp-dir-daddr",this.sel).val(i);n(".mapp-dir-get",this.sel).focus();n(".mapp-dir-saddr",this.sel).focus()};this.close=function(){this.map.toggleView("directions",!1);this.directionsRenderer&&(this.directionsRenderer.setPanel(null),this.directionsRenderer.getMap()&&(this.directionsRenderer.setMap(null),this.map.togglePois(!0)))};this.getDirections=function(){this.map.close();this.openGoogle(n(".mapp-dir-saddr",this.sel).val(),n(".mapp-dir-daddr",this.sel).val());return};this.openGoogle=function(n,t){var i=mappl10n.options.directionsServer;i.toLowerCase().indexOf("http")==-1&&(i="https://"+i);i+="?saddr="+encodeURIComponent(n);i+="&daddr="+encodeURIComponent(t);window.open(i)}}}(jQuery);mapp=window.mapp||{};mapp.geocoders={};+function(){mapp.geocoders.Algolia=function(n){this.map=n;this.places=algoliasearch.initPlaces()};mapp.geocoders.Algolia.prototype={geocode:function(n,t){var i=this;this.getPredictions(n,function(i){i&&i.hits.length?t({formatted_address:i.hits[0].locale_names[0],name:n,geometry:{location:{lat:i.hits[0]._geoloc.lat,lng:i.hits[0]._geoloc.lng}}}):t(null)})},getDetails:function(n,t){t({formatted_address:n.value,name:n.name,geometry:{location:n.latlng}})},getPredictions:function(n,t){this.places.search({query:n,language:mappl10n.options.language},function(n,i){n||!i?t(null):t(i)})}}}(jQuery);+function(n){mapp.geocoders.Google=function(t){this.map=t;this.token=null;this.types=this.map.editable?null:["geocode"];var i=n('<div style="display:none">').appendTo("body");this.placesService=new google.maps.places.PlacesService(i.get(0));this.autocompleteService=new google.maps.places.AutocompleteService;i.remove()};mapp.geocoders.Google.prototype={geocode:function(t,i){var r=this;this.getPredictions(t,function(t){t&&n.isArray(t)?r.getDetails(t[0],function(n){i(n)}):i(null)})},getDetails:function(n,t){this.token=this.token?this.token:new google.maps.places.AutocompleteSessionToken;this.token=null;var i={placeId:n.place_id,sessionToken:this.token};this.placesService.getDetails(i,function(n,i){if(i=="OK"&&n&&n.geometry){if(n.geometry.location&&(n.geometry.location=n.geometry.location.toJSON()),n.geometry.viewport){var r=n.geometry.viewport.toJSON();n.geometry.viewport={sw:{lat:r.south,lng:r.west},ne:{lat:r.north,lng:r.east}}}t(n)}else t(null)})},getPredictions:function(n,t){var i,r;this.token=this.token?this.token:new google.maps.places.AutocompleteSessionToken;i=this.map.getMap().getBounds();i=i?i:new google.maps.LatLngBounds(new google.maps.LatLng(85,-180),new google.maps.LatLng(-85,180));r={input:n,bounds:i,sessionToken:this.token,types:this.types};this.autocompleteService.getPlacePredictions(r,function(n,i){i=="OK"&&n&&n.length?t(n):(i==google.maps.places.PlacesServiceStatus.REQUEST_DENIED?alert("Google Maps API Key error: please enable the Places API in the Google Developer Console."):i==google.maps.places.PlacesServiceStatus.OVER_QUERY_LIMIT&&alert("Google Maps API Key has exceeded its query limit"),t(null))})}}}(jQuery);mapp=window.mapp||{};mapp.Icons={};mapp.Icons.get=function(){var n="https://maps.google.com/intl/en_us/mapfiles/ms/micons/red-dot.png";return mappl10n.options.engine=="leaflet"?L.icon({iconUrl:n,iconAnchor:[16,32],iconSize:[32,32],popupAnchor:[0,-32]}):{url:n}};mapp.Icons.getUrl=function(){return"https://maps.google.com/intl/en_us/mapfiles/ms/micons/red-dot.png"};mapp=window.mapp||{};+function(n){mapp.InfoBox=function(t,i){var f=n.extend({border:20},i),u=null,r=null,o,e=this;r=n('<div class="mapp-ib-wrapper" tabindex="0"><div class="mapp-ib" tabindex="0"><\/div><div class="mapp-ib-tip"><\/div><\/div>').appendTo(t.getMap().getDiv());jQuery(window).resize(function(){e.close()});r.on("keydown",function(n){n.which==27&&e.close()});r.on("click",".mapp-close",function(){e.close()});this.getContent=function(){return n(".mapp-ib",r)};this.setContent=function(t){n(".mapp-ib",r).empty().append(t)};this.open=function(n,t){u=t;this.setMap(n)};this.onAdd=function(){o=!1;var t=n(":input",r);r.show();t.length?t.first().focus():r.focus();google.maps.event.trigger(e,"domready")};this.draw=function(){var l=this.getMap(),a=n(".mapp-ib-body",r),s=this.getProjection().fromLatLngToContainerPixel(u.position),t,h,c,i,e;o||(o=!0,t={width:n(":first-child",l.getDiv()).width(),height:n(":first-child",l.getDiv()).height()},r.css({"max-height":"9999px",left:0,bottom:0,top:"auto",right:"auto"}),h=r.outerWidth(!0),c=r.outerHeight(!0),c>t.height+u.anchorPoint.y-2*f.border&&(c=t.height+u.anchorPoint.y-2*f.border,r.css({"max-height":c+2})),i=s.x,e=s.y,i+h/2>t.width&&(i=t.width-h/2),i-h/2<0&&(i=h/2),e-c+u.anchorPoint.y<f.border&&(e=c-u.anchorPoint.y+f.border),e>t.height&&(e=t.height),(s.x-i||s.y-e)&&l.panBy(s.x-i,s.y-e),r.css({left:i-h/2,bottom:t.height-e-u.anchorPoint.y}))};this.close=function(){r.is(":visible")&&(this.setMap(null),google.maps.event.trigger(this,"closed"))};this.onRemove=function(){r.hide()}};mappl10n.options.engine!="leaflet"&&(mapp.InfoBox.prototype=new google.maps.OverlayView)}(jQuery);mapp=window.mapp||{};+function(n){mapp.lib={ajax:function(t){var r=this,u,i;if(n.extend({type:"GET",cache:!1,data:null,spinner:null,callback:n.noop},t),t.cache)for(typeof mapp.lib.ajax.cache=="undefined"&&(mapp.lib.ajax.cache=[]),u=JSON.stringify(t.data),i=0;i<mapp.lib.ajax.cache.length;i++)if(mapp.lib.ajax.cache[i].hash==u){t.callback(mapp.lib.ajax.cache[i].response);return}return t.spinner&&t.spinner.show(),n.ajax({type:t.type,cache:!1,url:mappl10n.options.ajaxurl,data:t.data,success:function(n,i,u){if(t.spinner&&t.spinner.hide(),n.output){r.alert("AJAX Error\r\n"+n.output);return}if(n.status=="OK"){t.cache&&mapp.lib.ajax.cache.push({hash:JSON.stringify(t.data),response:n});t.callback&&t.callback(n,u);return}var f=typeof n=="object"?n.status:n;r.alert("AJAX ERROR\r\nResponse="+f+" TextStatus="+i+"\r\nResponseText="+u.responseText)},error:function(n,i,u){(t.spinner&&t.spinner.hide(),i!="cancel")&&typeof u!="undefined"&&u!=""&&r.alert("AJAX ERROR\r\nTextStatus="+i+"\r\nError="+u+"\r\nResponseText="+n.responseText)}})},alert:function(n){mappl10n.options.admin||mappl10n.options.debug?alert(n):window.console&&console.error(n)},jqVersionCheck:function(t){if(typeof n=="undefined"||typeof t=="undefined")return!1;for(t=t.split("."),v=n.fn.jquery.split("."),i=0;i<t.length;i++){var r=parseInt(t[i]),u=typeof v[i]!="undefined"?parseInt(v[i]):0;if(u!=r)return u>r}return!0},log:function(n){window.console&&console.error(n)},scrollTo:function(n,t){if(n&&t&&n.length&&t.length){var i=n.scrollTop(),u=n.height(),r=i+t.position().top,f=r+t.outerHeight(!0);r<i?n.scrollTop(r):f>i+u&&n.scrollTop(f-u)}},template:function(t,i){if(mapp.lib.templates=mapp.lib.templates?mapp.lib.templates:{},!mapp.lib.templates[t]){var r=mappl10n.options.templates?mappl10n.options.template[t]:n("#mapp-tmpl-"+t).html();if(r)mapp.lib.templates[t]=_.template(r.replace(/[\n\r\t]/g,""),null,{evaluate:/<#([\s\S]+?)#>/g,interpolate:/\{\{\{([\s\S]+?)\}\}\}/g,escape:/\{\{([^\}]+?)\}\}(?!\})/g});else return""}return mapp.lib.templates[t](i)}};mapp.lib.jqVersionCheck("1.7")||mapp.lib.alert("jQuery version is too old: "+n.fn.jquery);n("body").on("tabsactivate tabsshow",function(t,i){var r=i.newPanel?i.newPanel:i.panel;r&&n(".mapp-layout",r).each(function(){var i=n(this).find(".mapp-canvas").attr("id"),t=window[i];t.resize();t.recenter()})})}(jQuery);+function(){mappl10n.options.engine=="leaflet"&&(L.LatLng.prototype.toJSON=function(){return{lat:this.lat,lng:this.lng}},L.LatLngBounds.prototype.toJSON=function(){return{south:this.getSouth(),west:this.getWest(),north:this.getNorth(),east:this.getEast()}},L.LatLng.prototype.toUrlValue=function(){return Math.round(this.lat*1e6)/1e6+", "+Math.round(this.lng*1e6)/1e6});mapp.event={addListener:function(n,t,i){if(mappl10n.options.engine=="leaflet")n.on(t,i);else google.maps.event.addListener(n,t,i)},addListenerOnce:function(n,t,i){if(mappl10n.options.engine=="leaflet")n.once(t,i);else google.maps.event.addListenerOnce(n,t,i)},clearInstanceListeners:function(n){mappl10n.options.engine=="leaflet"?n.off():google.maps.event.clearInstanceListeners(n)},clearListeners:function(n,t){mappl10n.options.engine=="leaflet"?n.off(t):google.maps.event.clearListeners(n,"rightclick")},trigger:function(n,t,i){mappl10n.options.engine=="leaflet"?n.fire(t,i):google.maps.event.trigger(n,t,i)}}}(jQuery);mapp=window.mapp||{};jQuery.fn.AlgoliaAutocomplete=jQuery.fn.autocomplete.noConflict();+function(n){mapp.Places=function(t,i){var r=this;this.sel=n(t);this.opts=n.extend({map:null},i);this.geocoder=mappl10n.options.engine=="leaflet"?new mapp.geocoders.Algolia(this.opts.map):new mapp.geocoders.Google(this.opts.map);this.sel.on("keydown",function(t){if(t.which==13){t.preventDefault();var i=r.parseLatLng(r.sel.val());i&&(n(r).triggerHandler("search.mapp",i),r.sel.AlgoliaAutocomplete("close"),t.stopImmediatePropagation())}});this.autocomplete();this.sel.focus()};mapp.Places.prototype={parse:function(t,i){var f=this,u=t&&t.name?n.trim(t.name):n.trim(t),r;if(!u){i(null);return}if(u=="user"){this.geolocate(function(n){i(n)});return}if(t&&t.geometry){i(t);return}if(r=this.parseLatLng(t),r){i(r);return}this.geocoder.geocode(t,function(n){i(n)})},parseLatLng:function(t){var i,u,r;return t.lat&&t.lng?i=t:(u=t&&t.name?n.trim(t.name):n.trim(t),r=u.split(","),r.length!=2||isNaN(r[0])||isNaN(r[1])||(i={lat:r[0],lng:r[1]})),i?{name:i.lat+", "+i.lng,geometry:{location:i}}:null},geolocate:function(n){var t=this;if(!navigator||!navigator.geolocation){alert(mappl10n.no_geolocate);return}navigator.geolocation.getCurrentPosition(function(t){var i={lat:t.coords.latitude,lng:t.coords.longitude};n({name:i.lat+", "+i.lng,geometry:{location:i}})},function(t){var i=t&&t.message?" : "+t.message:"";alert(mappl10n.no_geolocate+i);n(null)},{timeout:15e3,enableHighAccuracy:!0,maximumAge:3e4})},autocomplete:function(){var t=this,r,i,u;this.sel.on("autocomplete:selected",function(i,r){t.geocoder.getDetails(r,function(i){t.parse(i,function(i){i&&n(t).triggerHandler("search.mapp",i)})})});r={empty:'<div class="list-group search-results-dropdown"><div class="list-group-item">'+mappl10n.no_results+"<\/div><\/div>",header:'<div class="list-group search-results-dropdown">'};mappl10n.options.engine=="leaflet"?(i={algoliasearch:algoliasearch,templates:r},mappl10n.options.country&&(i.countries=[mappl10n.options.country]),mappl10n.options.language&&(i.language=mappl10n.options.language),u=placesAutocompleteDataset(i)):u={display:"description",source:function(n,i){t.geocoder.getPredictions(n,function(n){matches=n;i(matches)})},templates:r};this.sel.AlgoliaAutocomplete({autoselect:!0,cssClasses:{prefix:"mapp-aa"},debug:!1,hint:!0,highlight:!0,minLength:1},u)}}}(jQuery);mapp=window.mapp||{};+function(n){mapp.Poi=function(t){var u,f,r,o,i,e,h,s;if(this.defaults={address:null,body:null,iconid:null,kml:null,map:null,overlay:null,postid:null,title:"",url:null,type:null,viewport:null},n.extend(this,this.defaults,t),t&&t.correctedAddress&&(this.address=t.correctedAddress),mappl10n.options.engine=="leaflet"&&this.isPoly()&&(this.type=null),t.viewport&&t.viewport.sw&&t.viewport.ne&&(u=t.viewport.sw,f=t.viewport.ne,this.viewport=mappl10n.options.engine=="leaflet"?new L.LatLngBounds(L.latLng(u.lat,u.lng),L.latLng(f.lat,f.lng)):new google.maps.LatLngBounds(new google.maps.LatLng(u.lat,u.lng),new google.maps.LatLng(f.lat,f.lng))),r=[],o=[],!t.overlay)switch(this.type){case"polygon":if(t.poly&&t.poly.paths)for(i=0;i<t.poly.paths.length;i++){for(r=[],e=0;e<t.poly.paths[i].length;e++)r.push(new google.maps.LatLng(t.poly.paths[i][e].lat,t.poly.paths[i][e].lng));o.push(new google.maps.MVCArray(r))}this.overlay=new google.maps.Polygon({paths:new google.maps.MVCArray(o)});this.setColors(t.poly);break;case"polyline":if(t.poly&&t.poly.path)for(i=0;i<t.poly.path.length;i++)r.push(new google.maps.LatLng(t.poly.path[i].lat,t.poly.path[i].lng));this.overlay=new google.maps.Polyline({path:new google.maps.MVCArray(r)});this.setColors(t.poly);break;case"circle":h=new google.maps.LatLng(t.point.lat,t.point.lng);this.overlay=new google.maps.Circle({center:h,radius:parseFloat(t.poly.radius)});this.setColors(t.poly);break;case"rectangle":this.overlay=new google.maps.Rectangle({bounds:this.viewport});this.setColors(t.poly);break;case"kml":s=t.kml&&t.kml.url?t.kml.url:"";this.overlay=mappl10n.options.engine=="leaflet"?omnivore.kml(s):new google.maps.KmlLayer(s,{preserveViewport:!0,suppressInfoWindows:!0});break;case"":default:this.overlay=mappl10n.options.engine=="leaflet"?L.marker([t.point.lat,t.point.lng]):new google.maps.Marker({position:new google.maps.LatLng(t.point.lat,t.point.lng)})}t.type||this.setIcon(t.iconid)};mapp.Poi.prototype={toJSON:function(){var n={address:this.address,body:this.body,correctedAddress:this.address,iconid:this.iconid,point:null,poly:null,title:this.title,type:this.type,viewport:null},u=this.getPosition(),i,t,r;if(n.point=u.toJSON(),i=this.viewport?this.viewport:this.getBounds(),i&&(t=i.toJSON(),n.viewport={sw:{lat:t.south,lng:t.west},ne:{lat:t.north,lng:t.east}}),this.type=="kml"&&(n.kml=this.kml),this.isPoly()){n.poly=this.getColors();switch(this.type){case"circle":n.poly.radius=this.overlay.getRadius();break;case"polyline":n.poly.path=[];this.overlay.getPath().forEach(function(t){n.poly.path.push(t.toJSON())});break;case"polygon":n.poly.paths=[];this.overlay.getPaths().forEach(function(t){var i=[];t.forEach(function(n){i.push(n.toJSON())});n.poly.paths.push(i)});break;case"rectangle":r=this.overlay.getBounds();n.viewport={sw:r.getSouthWest().toJSON(),ne:r.getNorthEast().toJSON()}}}return n},setMap:function(t){var i=this;if(this.map=t,mapp.event.clearInstanceListeners(this.overlay),t==null){mappl10n.options.engine=="leaflet"?this.overlay.remove():this.overlay.setMap(null);return}this.type=="kml"&&(mappl10n.options.engine=="leaflet"?(mapp.event.addListenerOnce(this.overlay,"ready",function(){i.viewport=i.overlay.getBounds()}),mapp.event.addListenerOnce(this.overlay,"error",function(){alert(mappl10n.kml_error)})):(mapp.event.addListener(this.overlay,"defaultviewport_changed",function(){i.viewport=i.overlay.getDefaultViewport()}),mapp.event.addListener(this.overlay,"status_changed",function(){var n=i.overlay.getStatus();n!="OK"&&mappl10n.ajaxErrors&&alert(mappl10n.kml_error+":"+n)})));mapp.event.addListener(this.overlay,"click",function(n){i.open(n)});this.setTitle(n("<div>").html(this.title).text());this.setEditable(this.map.editable);mappl10n.options.engine=="leaflet"?this.overlay.addTo(t.getMap()):this.overlay.setMap(t.getMap())},setEditable:function(n){var t=this;this.type!="kml"&&(mappl10n.options.engine=="leaflet"?this.overlay.options.draggable=n:this.overlay.setDraggable(n),this.isPoly()&&this.overlay.setEditable(n),mapp.event.clearListeners(this.overlay,"rightclick"),mapp.event.clearListeners(this.overlay,"dragstart"),n&&(mapp.event.addListener(this.overlay,"dragstart",function(){t.viewport=null;t.map.close()}),(this.type=="polygon"||this.type=="polyline")&&mapp.event.addListener(this.overlay,"rightclick",function(n){n.vertex!=null&&t.overlay.getPath().getLength()>2&&t.overlay.getPath().removeAt(n.vertex)})))},setTitle:function(n){this.type||(mappl10n.options.engine=="leaflet"?this.overlay.title=n:this.overlay.setTitle(n))},setZIndex:function(n){mappl10n.options.engine=="leaflet"?this.type||this.overlay.setZIndexOffset(n):this.overlay.set("zIndex",n)},setIcon:function(n){this.type||typeof mapp.Icons=="undefined"||(this.iconid=n,mappl10n.options.engine=="leaflet"?this.overlay.setIcon(mapp.Icons.get(n)):(this.overlay.setIcon(null),this.overlay.setIcon(mapp.Icons.get(n))))},setVisible:function(n){typeof this.overlay.setVisible!="undefined"&&this.overlay.setVisible(n)},setColors:function(n){var i={};for(var t in{strokeColor:"",strokeOpacity:"",strokeWeight:"",fillColor:"",fillOpacity:""})n&&typeof n[t]!="undefined"&&(i[t]=n[t]);this.overlay.setOptions(i)},setTemplateColors:function(n,t,i){var r=this.type=="polyline"?{strokeColor:n,strokeOpacity:t/100,strokeWeight:i}:{fillColor:n,fillOpacity:t/100,strokeColor:n,strokeWeight:i,strokeOpacity:1};this.setColors(r)},getColors:function(){var t={};for(var n in{strokeColor:"",strokeOpacity:"",strokeWeight:"",fillColor:"",fillOpacity:""})typeof this.overlay[n]!="undefined"&&(t[n]=this.overlay[n]);return t},getTemplateColors:function(){var n=this.getColors();return this.type=="polyline"?{color:n.strokeColor,opacity:n.strokeOpacity*100,weight:n.strokeWeight}:{color:n.fillColor,opacity:n.fillOpacity*100,weight:n.strokeWeight}},center:function(n){var t=this.getBounds();if(typeof n=="number"){this.map.setView(this.getPosition(),n);return}if(!t){this.map.setView(this.getPosition(),parseInt(mappl10n.options.poiZoom));return}this.map.fitBounds(t);this.map.setView(this.getPosition(),n)},open:function(n){this.map.open(this,n)},isPoly:function(){return jQuery.inArray(this.type,["polyline","polygon","circle","rectangle"])!=-1},getBounds:function(){var n;switch(this.type){case"polyline":n=new google.maps.LatLngBounds;this.overlay.getPath().forEach(function(t){n.extend(t)});break;case"polygon":n=new google.maps.LatLngBounds;this.overlay.getPaths().forEach(function(t){t.forEach(function(t){n.extend(t)})});break;case"rectangle":case"circle":n=this.overlay.getBounds();break;case"kml":n=mappl10n.options.engine=="leaflet"?this.overlay.getBounds().isValid()?this.overlay.getBounds():null:this.overlay.getDefaultViewport();n=n?n:this.viewport;break;default:return this.viewport}return n},getPosition:function(n){if(!this.type)return mappl10n.options.engine=="leaflet"?this.overlay.getLatLng():this.overlay.getPosition();if(this.type=="kml"&&n&&n.latLng)return n.latLng;var t=this.getBounds();return t?t.getCenter():mappl10n.options.engine=="leaflet"?new L.latLng(0,0):new google.maps.LatLng(0,0)},getAddress:function(){return this.address?this.address:this.type=="kml"?this.kml.url:this.getPosition().toUrlValue()},getAnchorPoint:function(n){var t=this.isPoly()?"poly":this.type;switch(t){case"kml":return mappl10n.options.engine=="leaflet"?[0,0]:n&&n.pixelOffset?new google.maps.Point(n.pixelOffset.width,n.pixelOffset.height):new google.maps.Point(0,0);case"poly":return mappl10n.options.engine=="leaflet"?[0,0]:new google.maps.Point(0,0);default:return mappl10n.options.engine=="leaflet"?this.overlay.options.icon.options.popupAnchor?this.overlay.options.icon.options.popupAnchor:[0,-32]:typeof this.overlay.anchorPoint!="undefined"?this.overlay.anchorPoint:new google.maps.Point(0,-32)}},render:function(n){return this.icon=mapp.Icons.getUrl(this.iconid),mapp.lib.template(this.map.templates[n],{poi:this,colors:this.getTemplateColors()})}}}(jQuery);mapp=window.mapp||{};mapp.widgets={};+function(n){mapp.widgets.Grid=function(t,i){this.el=n(t);this.options=jQuery.extend({action:null,sortable:!1},i);var r=this;this.table=n("table",this.el);this.template=n("script",this.el).html().replace(new RegExp("'","g"),'"');this.el.on("click",function(t){var u=n(t.target),i=u.attr("data-mapp-action");i&&(r[i](t),t.preventDefault())})};mapp.widgets.Grid.prototype={add:function(){this.table.show();var t=n(this.template).appendTo(this.table);n(":input:eq(0)",t).focus()},remove:function(t){var i=n(t.target).closest("tr").remove();n("tbody > tr",this.table).length||this.table.hide()}}}(jQuery);+function(n){mapp.widgets.Popup=function(t,i){var r,u;if(this.activeToggle=null,this.content=t,this.el=null,r=this,this.options=n.extend({max:!1,modal:!1,position:null,toggle:null},i),this.options.modal?this.el=this.content.addClass("mapp-popup-fixed"):(this.el=n('<div class="mapp-popup">'),this.setContent(t)),this.el.attr("tabindex",0),this.options.max&&this.el.addClass("mapp-popup-max"),this.el.hide(),!this.options.modal)n(document).on("click.mapp.popup",function(t){n.contains(r.el.get(0),t.target)||r.el.get(0)==t.target||r.close()});if(this.options.toggle){u=typeof this.options.toggle=="string"?this.options.toggle:this.options.toggle.selector;n(document).on("click",u,function(t){r.activeToggle=n(this);r.open();t.stopPropagation()})}this.el.on("click",".mapp-close",function(){r.close()});this.el.on("keydown",function(n){n.which==27&&r.close()});return this};mapp.widgets.Popup.prototype={close:function(){this.el&&this.el.is(":visible")&&(this.backdrop&&(this.backdrop.remove(),n("body").removeClass("mapp-popup-modal")),this.el.hide(),this.activeToggle&&this.activeToggle.focus(),this.el.trigger("closed.mapp.popup"))},open:function(){var t=this;this.options.modal||this.el.parent().length||this.el.appendTo("body");this.el.show();this.options.modal?(this.backdrop=n('<div class="mapp-popup-backdrop"><\/div>'),this.el.after(this.backdrop),n("body").addClass("mapp-popup-modal")):this.el.position(n.extend({my:"center bottom",at:"center top-5",of:this.activeToggle,collision:"flipfit"},this.options.position));this.el.focus();this.el.trigger("open.mapp.popup")},setContent:function(n){this.el.empty();this.el.append('<span class="mapp-close">').append(n)},toggle:function(){this.el.is(":visible")?this.close():this.open()}}}(jQuery);+function(){mapp.load=function(){if(typeof mapp!="undefined"&&mapp.data)while(mapp.data.length){var n=mapp.data.pop();window[n.name]=new mapp.Map(n);window[n.name].display()}}}(jQuery);typeof mapp.Media!="undefined"?window.mappEditor=new mapp.Media:mapp.load()
|
js/mappress_editor.min.js
CHANGED
@@ -1 +1 @@
|
|
1 |
-
var mapp=window.mapp||{};+function(n){mapp.Media=function(){this.editor=null;this.map=null;this.settings=null;this.tplEditor=null;this.sel=n(".mapp-media");this.list=n(".mapp-media-list",this.sel)
|
1 |
+
var mapp=window.mapp||{};+function(n){mapp.Media=function(){this.editor=null;this.map=null;this.settings=null;this.tplEditor=null;this.sel=n(".mapp-media");this.list=[];var t=this;this.initialize=function(){this.find();n(".mapp-media-list-type",this.sel).on("change",function(){var i=n(".mapp-media-list-type",this.sel).val();n(".mapp-media-search").val("");n(".mapp-media-search").toggle(i=="all");t.find()});var i=_.debounce(function(){t.find()});n(".mapp-media-search").keydown(function(){i();console.log("search")});this.settings={editable:!0,name:"mapp0"};this.sel.on("click","[data-mapp-media]",function(i){i.preventDefault();var r=n(this).attr("data-mapp-media");t[r]()});n(".mapp-media-list .mapp-item",this.sel).on("click",function(){n(".mapp-media-list .mapp-item",this.sel).removeClass("mapp-active");n(this).addClass("mapp-active")});n(".mapp-media-list",this.sel).on("click","[data-mapp-media]",function(i){i.preventDefault();var r=n(this).attr("data-mapp-media"),u=n(this).closest(".mapp-item"),f=u.attr("data-mapp-mapid");return t[r](f),!1});this.sel.on("change",".mapp-media-viewport",function(){n(this).is(":checked")||(t.map.center=t.map.zoom=null,t.map.recenter())});n(".mapp-media-size").click(function(t){var i=n(this).data("width"),r=n(this).data("height");n(".mapp-media-width").val(i);n(".mapp-media-height").val(r);t.preventDefault()});n("#publish, #post-preview").click(function(){t.save()});n(".mapp-media-title").keydown(function(n){n.which==13&&(n.preventDefault(),t.save())})};this.add=function(){var n=new mapp.Map(this.settings);n.width=mappl10n.options.sizes[mappl10n.options.size].width;n.height=mappl10n.options.sizes[mappl10n.options.size].height;t.open(n)};this.cancel=function(){t.closeEditor()};this.closeEditor=function(){this.editor.close();this.map=null;this.editor=null;n(".mapp-media-edit-panel").hide();n(".mapp-media-list-panel").show()};this.edit=function(n){mapp.Map.ajaxGet(n,this.settings,function(n){t.open(n)})};this.find=function(t){var i=this,r=n(".mapp-media-list-type",this.sel).val(),u=n(".mapp-media-search").val();n('[data-mapp-media="more"]',this.sel).prop("disabled",!0);n(".spinner",this.sel).css("visibility","visible");mapp.lib.ajax({type:"GET",data:{action:"mapp_find",type:r,page:t,postid:mappl10n.options.postid,search:u},callback:function(t){t.status=="OK"&&(n('[data-mapp-media="more"]',this.sel).prop("disabled",!1),n(".spinner",this.sel).css("visibility","hidden"),i.list=t.data,i.renderList())}})};this.insert=function(n){n=n?n:this.map.mapid;var t='[mappress mapid="'+n+'"]';send_to_editor(t)};this.more=function(){this.find(this.list.page+1)};this.open=function(t){this.map=t;n(".mapp-edit",this.sel).html(mapp.lib.template("edit-map"));var i=this.map.mapid;i?n(".mapp-media-mapid").text(i):n(".mapp-media-mapid").text("");n(".mapp-media-title").val(this.map.title);n(".mapp-media-width").val(this.map.width);n(".mapp-media-height").val(this.map.height);n(".mapp-media-viewport").prop("checked",!!(this.map.center&&this.map.zoom));n(".mapp-media-edit-panel").show();n(".mapp-media-list-panel").hide();this.editor=new mapp.Editor(this.map)};this.remove=function(n){if(confirm(mappl10n.delete_map_prompt)){var t=_.findIndex(this.list.items,{mapid:n});t>-1&&(this.list.items.splice(t,1),mapp.Map.ajaxDelete(n),this.renderList())}};this.renderList=function(){var t=n(".mapp-media-list-type",this.sel).val();n(".mapp-media-list",this.sel).html(mapp.lib.template("media-list",{list:this.list,type:t}))};this.save=function(){var t=this;this.map&&(this.map.title=n.trim(n(".mapp-media-title").val()),this.map.width=n(".mapp-media-width").val(),this.map.height=n(".mapp-media-height").val(),n(".mapp-media-viewport").prop("checked")?(this.map.center=this.map.getMap().getCenter().toJSON(),this.map.zoom=this.map.getMap().getZoom()):(this.map.center=null,this.map.zoom=null),this.map.ajaxSave(function(n){var i=_.findIndex(t.list.items,{mapid:t.map.mapid});i==-1?t.list.items.unshift(n):t.list.items[i]=n;t.renderList();t.closeEditor()}))};this.initialize.apply(this)}}(jQuery);+function(n){mapp.Editor=function(t){this.drawingManager=null;this.map=t;this.poiEditor=null;this.sel=n(".mapp-edit");var i=this;this.initialize=function(){this.map.display();this.poiEditor=new mapp.PoiEditor(this.map);this.initDrawingManager();n(this.map.places).off("search.mapp");n(this.map.places).on("search.mapp",function(n,t){i.insertPoi(t)});this.sel.on("click","[data-mapp-editor]",function(t){t.preventDefault();var r=n(this).attr("data-mapp-editor");i[r]()})};this.close=function(){this.map.close()};this.insertPoi=function(n){var t;if(n)if(this.drawingManager&&this.drawingManager.setDrawingMode(null),this.map.close(),n.geometry){var i=n.formatted_address?n.formatted_address.replace(/, United States of America/i,"").replace(/, United States/i,"").replace(/, USA/i,""):null,r=n.name==i?"":i,t=new mapp.Poi({address:i,body:r,iconid:this.poiEditor.lastIcon,point:n.geometry.location,title:n.name,viewport:n.geometry.viewport?n.geometry.viewport:null});this.map.insertPoi(t);t.center()}else n.overlay&&(t=new mapp.Poi({body:"",iconid:n.type=="marker"?null:"poly",overlay:n.overlay,title:n.type=="marker"?n.overlay.getPosition().toUrlValue(6):mappl10n.shape,type:n.type=="marker"?null:n.type}),this.map.insertPoi(t))};this.initDrawingManager=function(){};this.layer=function(){var n=window.prompt(mappl10n.layer);n&&i.insertPoi(n)};this.initialize.apply(this)};mapp.PoiEditor=function(t){this.map=t;this.poi=null;this.sel=null;this.lastIcon=null;var i=this;this.initialize=function(){this.sel=n(this.map.iw.getContent());n(this.map).on("mapp.open",function(n,t){i.render(t)});n(this.map).on("mapp.close",function(){i.mce(!1)});this.sel.on("click","[data-mapp-poi]",function(t){t.preventDefault();var r=n(this).attr("data-mapp-poi");i[r]()});this.sel.on("click",".mapp-poi-visual, .mapp-poi-html",function(){var t=n(this).hasClass("mapp-poi-visual");i.mce(t)});this.sel.on("keydown",function(t){t.which==13&&t.target!=n("#mapp-poi-body")&&(t.preventDefault(),i.save())});this.sel.on("change","[data-mapp-iconpicker]",function(){i.poi.setIcon(n("[data-mapp-iconpicker]").attr("data-mapp-iconid"));i.lastIcon=i.poi.iconid;i.map.renderList()});this.sel.on("change","[data-mapp-colorpicker]",function(){i.poi.setTemplateColors(n("[data-mapp-colorpicker]").attr("data-mapp-color"),n("[data-mapp-colorpicker]").attr("data-mapp-opacity"),n("[data-mapp-colorpicker]").attr("data-mapp-weight"));i.map.renderList()})};this.cancel=function(){this.map.close()};this.initMCE=function(){var n,t,i;typeof tinyMCE!="undefined"&&typeof tinyMCE.init!="undefined"&&(n="en",typeof tinyMCEPreInit!="undefined"&&typeof window.tinyMCEPreInit.mceInit!="undefined"&&typeof window.tinyMCEPreInit.mceInit.content!="undefined"&&(t=window.tinyMCEPreInit.mceInit.content,n=typeof t.language!="undefined"?t.language:"en"),i={mode:"none",height:"75px",convert_urls:!1,language:n,menubar:!1,plugins:"wordpress,paste,wplink,textcolor,image",relative_urls:!1,remove_script_host:!1,statusbar:!1,theme:"modern",toolbar1:"bold,italic,link,unlink,image",toolbar2:"",toolbar3:"",toolbar4:""},tinyMCE.init(i),this.mce(!0))};this.mce=function(t){var r=t?"mceAddEditor":"mceRemoveEditor";typeof tinyMCE!="undefined"&&tinyMCE.execCommand(r,!1,"mapp-poi-body");n(".mapp-poi-visual, .mapp-poi-html",i.sel).removeClass("mapp-active");t?n(".mapp-poi-visual",i.sel).addClass("mapp-active"):n(".mapp-poi-html",i.sel).addClass("mapp-active")};this.remove=function(){confirm(mappl10n.delete_prompt)&&(this.map.close(),this.map.removePoi(this.poi))};this.render=function(t){this.poi=t;n("[data-mapp-iconpicker]").trigger("refresh");n("[data-mapp-colorpicker]").trigger("refresh");this.initMCE()};this.save=function(){typeof tinyMCE!="undefined"&&tinyMCE.get("mapp-poi-body")&&tinyMCE.get("mapp-poi-body").save();this.poi.title=n(".mapp-poi-title").val();this.poi.body=n(".mapp-poi-body").val();this.map.renderList();this.map.close()};this.initialize.apply(this)}}(jQuery)
|
languages/mappress-google-maps-for-wordpress.pot
CHANGED
@@ -2,9 +2,9 @@
|
|
2 |
# This file is distributed under the same license as the MapPress Maps for WordPress package.
|
3 |
msgid ""
|
4 |
msgstr ""
|
5 |
-
"Project-Id-Version: MapPress Maps for WordPress 2.
|
6 |
"Report-Msgid-Bugs-To: https://wordpress.org/support/plugin/mappress-google-maps-for-wordpress\n"
|
7 |
-
"POT-Creation-Date: 2018-08-
|
8 |
"MIME-Version: 1.0\n"
|
9 |
"Content-Type: text/plain; charset=UTF-8\n"
|
10 |
"Content-Transfer-Encoding: 8bit\n"
|
@@ -24,56 +24,73 @@ msgstr ""
|
|
24 |
msgid "HTML"
|
25 |
msgstr ""
|
26 |
|
27 |
-
#: forms/map_editor.php:53 forms/map_media.php:
|
28 |
msgid "Save"
|
29 |
msgstr ""
|
30 |
|
31 |
-
#: forms/map_editor.php:54 forms/map_media.php:
|
32 |
msgid "Cancel"
|
33 |
msgstr ""
|
34 |
|
35 |
-
#: forms/map_editor.php:55 forms/template_editor.php:44
|
36 |
-
#: mappress_controls.php:102
|
37 |
msgid "Delete"
|
38 |
msgstr ""
|
39 |
|
40 |
-
#: forms/map_media.php:4
|
41 |
-
msgid "Maps for This Post"
|
42 |
-
msgstr ""
|
43 |
-
|
44 |
#: forms/map_media.php:5
|
45 |
msgid "New Map"
|
46 |
msgstr ""
|
47 |
|
48 |
-
#: forms/map_media.php:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
49 |
msgid "Map ID"
|
50 |
msgstr ""
|
51 |
|
52 |
-
#: forms/map_media.php:
|
53 |
msgid "Map Title"
|
54 |
msgstr ""
|
55 |
|
56 |
-
#: forms/map_media.php:
|
|
|
57 |
msgid "Untitled"
|
58 |
msgstr ""
|
59 |
|
60 |
-
#: forms/map_media.php:
|
61 |
msgid "Display Size"
|
62 |
msgstr ""
|
63 |
|
64 |
-
#: forms/map_media.php:
|
65 |
msgid "Save center / zoom"
|
66 |
msgstr ""
|
67 |
|
68 |
-
#: forms/map_media.php:
|
69 |
msgid "Insert into post"
|
70 |
msgstr ""
|
71 |
|
72 |
-
#: forms/
|
73 |
-
#:
|
74 |
msgid "Edit"
|
75 |
msgstr ""
|
76 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
77 |
#: forms/template_editor.php:24
|
78 |
msgid "New"
|
79 |
msgstr ""
|
@@ -110,99 +127,99 @@ msgstr ""
|
|
110 |
msgid "Upgrade to MapPress Pro"
|
111 |
msgstr ""
|
112 |
|
113 |
-
#: mappress.php:
|
114 |
msgid "MapPress database tables are missing. Please deactivate the plugin and activate it again to fix this."
|
115 |
msgstr ""
|
116 |
|
117 |
-
#: mappress.php:
|
118 |
msgid "WARNING: MapPress is not compatible with the WP-Geo plugin. Please deactivate or uninstall WP-Geo before using MapPress."
|
119 |
msgstr ""
|
120 |
|
121 |
-
#: mappress.php:
|
122 |
msgid "A Google Maps API key is required"
|
123 |
msgstr ""
|
124 |
|
125 |
-
#: mappress.php:
|
126 |
msgid "Please update your"
|
127 |
msgstr ""
|
128 |
|
129 |
-
#: mappress.php:
|
130 |
msgid "MapPress Settings"
|
131 |
msgstr ""
|
132 |
|
133 |
-
#: mappress.php:
|
134 |
msgid "here"
|
135 |
msgstr ""
|
136 |
|
137 |
-
#: mappress.php:
|
138 |
msgid "MapPress %s uses new templates. Please update your custom templates %s"
|
139 |
msgstr ""
|
140 |
|
141 |
-
#: mappress.php:
|
142 |
msgid "Are you sure you want to delete?"
|
143 |
msgstr ""
|
144 |
|
145 |
-
#: mappress.php:
|
146 |
msgid "Delete this map?"
|
147 |
msgstr ""
|
148 |
|
149 |
-
#: mappress.php:
|
150 |
msgid "Google cannot return directions between those addresses. There is no route between them or the routing information is not available."
|
151 |
msgstr ""
|
152 |
|
153 |
-
#: mappress.php:
|
154 |
msgid "Error reading KML file"
|
155 |
msgstr ""
|
156 |
|
157 |
-
#: mappress.php:
|
158 |
msgid "URL for KML file"
|
159 |
msgstr ""
|
160 |
|
161 |
-
#: mappress.php:
|
162 |
msgid "Loading"
|
163 |
msgstr ""
|
164 |
|
165 |
-
#: mappress.php:
|
166 |
msgid "Unable to get your location"
|
167 |
msgstr ""
|
168 |
|
169 |
-
#: mappress.php:
|
170 |
msgid "No results"
|
171 |
msgstr ""
|
172 |
|
173 |
-
#: mappress.php:
|
174 |
msgid "Save changes?"
|
175 |
msgstr ""
|
176 |
|
177 |
-
#: mappress.php:
|
178 |
msgid "Shape"
|
179 |
msgstr ""
|
180 |
|
181 |
-
#: mappress.php:
|
182 |
msgid "Improve this map"
|
183 |
msgstr ""
|
184 |
|
185 |
-
#: mappress.php:
|
186 |
msgid "Streets"
|
187 |
msgstr ""
|
188 |
|
189 |
-
#: mappress.php:
|
190 |
msgid "Outdoors"
|
191 |
msgstr ""
|
192 |
|
193 |
-
#: mappress.php:
|
194 |
msgid "Light"
|
195 |
msgstr ""
|
196 |
|
197 |
-
#: mappress.php:
|
198 |
msgid "Dark"
|
199 |
msgstr ""
|
200 |
|
201 |
-
#: mappress.php:
|
202 |
msgid "Satellite"
|
203 |
msgstr ""
|
204 |
|
205 |
-
#: mappress.php:
|
206 |
msgid "Satellite Streets"
|
207 |
msgstr ""
|
208 |
|
@@ -214,23 +231,23 @@ msgstr ""
|
|
214 |
msgid "MapPress"
|
215 |
msgstr ""
|
216 |
|
217 |
-
#: mappress_map.php:
|
218 |
msgid "Map not found"
|
219 |
msgstr ""
|
220 |
|
221 |
-
#: mappress_map.php:
|
222 |
msgid "Filter"
|
223 |
msgstr ""
|
224 |
|
225 |
-
#: mappress_map.php:
|
226 |
msgid "Show map"
|
227 |
msgstr ""
|
228 |
|
229 |
-
#: mappress_map.php:
|
230 |
msgid "Map"
|
231 |
msgstr ""
|
232 |
|
233 |
-
#: mappress_map.php:
|
234 |
msgid "List"
|
235 |
msgstr ""
|
236 |
|
@@ -844,10 +861,6 @@ msgstr ""
|
|
844 |
msgid "Hide if empty"
|
845 |
msgstr ""
|
846 |
|
847 |
-
#: pro/mappress_widget.php:76
|
848 |
-
msgid "All posts"
|
849 |
-
msgstr ""
|
850 |
-
|
851 |
#: pro/mappress_widget.php:77
|
852 |
msgid "Custom query"
|
853 |
msgstr ""
|
2 |
# This file is distributed under the same license as the MapPress Maps for WordPress package.
|
3 |
msgid ""
|
4 |
msgstr ""
|
5 |
+
"Project-Id-Version: MapPress Maps for WordPress 2.50\n"
|
6 |
"Report-Msgid-Bugs-To: https://wordpress.org/support/plugin/mappress-google-maps-for-wordpress\n"
|
7 |
+
"POT-Creation-Date: 2018-08-12 19:54:56+00:00\n"
|
8 |
"MIME-Version: 1.0\n"
|
9 |
"Content-Type: text/plain; charset=UTF-8\n"
|
10 |
"Content-Transfer-Encoding: 8bit\n"
|
24 |
msgid "HTML"
|
25 |
msgstr ""
|
26 |
|
27 |
+
#: forms/map_editor.php:53 forms/map_media.php:48 forms/template_editor.php:41
|
28 |
msgid "Save"
|
29 |
msgstr ""
|
30 |
|
31 |
+
#: forms/map_editor.php:54 forms/map_media.php:49 forms/template_editor.php:42
|
32 |
msgid "Cancel"
|
33 |
msgstr ""
|
34 |
|
35 |
+
#: forms/map_editor.php:55 forms/map_media.php:71 forms/template_editor.php:44
|
36 |
+
#: mappress_controls.php:102
|
37 |
msgid "Delete"
|
38 |
msgstr ""
|
39 |
|
|
|
|
|
|
|
|
|
40 |
#: forms/map_media.php:5
|
41 |
msgid "New Map"
|
42 |
msgstr ""
|
43 |
|
44 |
+
#: forms/map_media.php:7
|
45 |
+
msgid "This post"
|
46 |
+
msgstr ""
|
47 |
+
|
48 |
+
#: forms/map_media.php:8 pro/mappress_widget.php:76
|
49 |
+
msgid "All posts"
|
50 |
+
msgstr ""
|
51 |
+
|
52 |
+
#: forms/map_media.php:10
|
53 |
+
msgid "Search post title"
|
54 |
+
msgstr ""
|
55 |
+
|
56 |
+
#: forms/map_media.php:20
|
57 |
msgid "Map ID"
|
58 |
msgstr ""
|
59 |
|
60 |
+
#: forms/map_media.php:25
|
61 |
msgid "Map Title"
|
62 |
msgstr ""
|
63 |
|
64 |
+
#: forms/map_media.php:26 forms/map_media.php:62 forms/map_media.php:66
|
65 |
+
#: mappress.php:650
|
66 |
msgid "Untitled"
|
67 |
msgstr ""
|
68 |
|
69 |
+
#: forms/map_media.php:30
|
70 |
msgid "Display Size"
|
71 |
msgstr ""
|
72 |
|
73 |
+
#: forms/map_media.php:43
|
74 |
msgid "Save center / zoom"
|
75 |
msgstr ""
|
76 |
|
77 |
+
#: forms/map_media.php:50 forms/map_media.php:70
|
78 |
msgid "Insert into post"
|
79 |
msgstr ""
|
80 |
|
81 |
+
#: forms/map_media.php:69 forms/template_editor.php:4
|
82 |
+
#: forms/template_editor.php:18
|
83 |
msgid "Edit"
|
84 |
msgstr ""
|
85 |
|
86 |
+
#: forms/map_media.php:78
|
87 |
+
msgid "No maps found"
|
88 |
+
msgstr ""
|
89 |
+
|
90 |
+
#: forms/map_media.php:81
|
91 |
+
msgid "Load More"
|
92 |
+
msgstr ""
|
93 |
+
|
94 |
#: forms/template_editor.php:24
|
95 |
msgid "New"
|
96 |
msgstr ""
|
127 |
msgid "Upgrade to MapPress Pro"
|
128 |
msgstr ""
|
129 |
|
130 |
+
#: mappress.php:460
|
131 |
msgid "MapPress database tables are missing. Please deactivate the plugin and activate it again to fix this."
|
132 |
msgstr ""
|
133 |
|
134 |
+
#: mappress.php:465
|
135 |
msgid "WARNING: MapPress is not compatible with the WP-Geo plugin. Please deactivate or uninstall WP-Geo before using MapPress."
|
136 |
msgstr ""
|
137 |
|
138 |
+
#: mappress.php:470
|
139 |
msgid "A Google Maps API key is required"
|
140 |
msgstr ""
|
141 |
|
142 |
+
#: mappress.php:470
|
143 |
msgid "Please update your"
|
144 |
msgstr ""
|
145 |
|
146 |
+
#: mappress.php:470
|
147 |
msgid "MapPress Settings"
|
148 |
msgstr ""
|
149 |
|
150 |
+
#: mappress.php:480
|
151 |
msgid "here"
|
152 |
msgstr ""
|
153 |
|
154 |
+
#: mappress.php:481
|
155 |
msgid "MapPress %s uses new templates. Please update your custom templates %s"
|
156 |
msgstr ""
|
157 |
|
158 |
+
#: mappress.php:640
|
159 |
msgid "Are you sure you want to delete?"
|
160 |
msgstr ""
|
161 |
|
162 |
+
#: mappress.php:641
|
163 |
msgid "Delete this map?"
|
164 |
msgstr ""
|
165 |
|
166 |
+
#: mappress.php:642
|
167 |
msgid "Google cannot return directions between those addresses. There is no route between them or the routing information is not available."
|
168 |
msgstr ""
|
169 |
|
170 |
+
#: mappress.php:643
|
171 |
msgid "Error reading KML file"
|
172 |
msgstr ""
|
173 |
|
174 |
+
#: mappress.php:644
|
175 |
msgid "URL for KML file"
|
176 |
msgstr ""
|
177 |
|
178 |
+
#: mappress.php:645
|
179 |
msgid "Loading"
|
180 |
msgstr ""
|
181 |
|
182 |
+
#: mappress.php:646
|
183 |
msgid "Unable to get your location"
|
184 |
msgstr ""
|
185 |
|
186 |
+
#: mappress.php:647
|
187 |
msgid "No results"
|
188 |
msgstr ""
|
189 |
|
190 |
+
#: mappress.php:648
|
191 |
msgid "Save changes?"
|
192 |
msgstr ""
|
193 |
|
194 |
+
#: mappress.php:649
|
195 |
msgid "Shape"
|
196 |
msgstr ""
|
197 |
|
198 |
+
#: mappress.php:676
|
199 |
msgid "Improve this map"
|
200 |
msgstr ""
|
201 |
|
202 |
+
#: mappress.php:692
|
203 |
msgid "Streets"
|
204 |
msgstr ""
|
205 |
|
206 |
+
#: mappress.php:693
|
207 |
msgid "Outdoors"
|
208 |
msgstr ""
|
209 |
|
210 |
+
#: mappress.php:694
|
211 |
msgid "Light"
|
212 |
msgstr ""
|
213 |
|
214 |
+
#: mappress.php:695
|
215 |
msgid "Dark"
|
216 |
msgstr ""
|
217 |
|
218 |
+
#: mappress.php:696
|
219 |
msgid "Satellite"
|
220 |
msgstr ""
|
221 |
|
222 |
+
#: mappress.php:697
|
223 |
msgid "Satellite Streets"
|
224 |
msgstr ""
|
225 |
|
231 |
msgid "MapPress"
|
232 |
msgstr ""
|
233 |
|
234 |
+
#: mappress_map.php:182
|
235 |
msgid "Map not found"
|
236 |
msgstr ""
|
237 |
|
238 |
+
#: mappress_map.php:440 pro/mappress_pro_settings.php:34
|
239 |
msgid "Filter"
|
240 |
msgstr ""
|
241 |
|
242 |
+
#: mappress_map.php:473
|
243 |
msgid "Show map"
|
244 |
msgstr ""
|
245 |
|
246 |
+
#: mappress_map.php:477
|
247 |
msgid "Map"
|
248 |
msgstr ""
|
249 |
|
250 |
+
#: mappress_map.php:478
|
251 |
msgid "List"
|
252 |
msgstr ""
|
253 |
|
861 |
msgid "Hide if empty"
|
862 |
msgstr ""
|
863 |
|
|
|
|
|
|
|
|
|
864 |
#: pro/mappress_widget.php:77
|
865 |
msgid "Custom query"
|
866 |
msgstr ""
|
languages/texts.php
CHANGED
@@ -5,8 +5,10 @@ __("HTML");
|
|
5 |
__("Save");
|
6 |
__("Cancel");
|
7 |
__("Delete");
|
8 |
-
__("Maps for This Post");
|
9 |
__("New Map");
|
|
|
|
|
|
|
10 |
__("Map ID");
|
11 |
__("Map Title");
|
12 |
__("Untitled");
|
@@ -14,6 +16,8 @@ __("Display Size");
|
|
14 |
__("Save center / zoom");
|
15 |
__("Insert into post");
|
16 |
__("Edit");
|
|
|
|
|
17 |
__("New");
|
18 |
__("Custom");
|
19 |
__("Editor");
|
@@ -206,7 +210,6 @@ __("Map size");
|
|
206 |
__("Show");
|
207 |
__("Current posts");
|
208 |
__("Hide if empty");
|
209 |
-
__("All posts");
|
210 |
__("Custom query");
|
211 |
__("Learn about queries");
|
212 |
__("Show POI list");
|
5 |
__("Save");
|
6 |
__("Cancel");
|
7 |
__("Delete");
|
|
|
8 |
__("New Map");
|
9 |
+
__("This post");
|
10 |
+
__("All posts");
|
11 |
+
__("Search post title");
|
12 |
__("Map ID");
|
13 |
__("Map Title");
|
14 |
__("Untitled");
|
16 |
__("Save center / zoom");
|
17 |
__("Insert into post");
|
18 |
__("Edit");
|
19 |
+
__("No maps found");
|
20 |
+
__("Load More");
|
21 |
__("New");
|
22 |
__("Custom");
|
23 |
__("Editor");
|
210 |
__("Show");
|
211 |
__("Current posts");
|
212 |
__("Hide if empty");
|
|
|
213 |
__("Custom query");
|
214 |
__("Learn about queries");
|
215 |
__("Show POI list");
|
mappress.php
CHANGED
@@ -4,7 +4,7 @@ Plugin Name: MapPress Maps for WordPress
|
|
4 |
Plugin URI: https://www.mappresspro.com/mappress
|
5 |
Author URI: https://www.mappresspro.com/chris-contact
|
6 |
Description: MapPress makes it easy to add Google and Leaflet Maps to WordPress
|
7 |
-
Version: 2.
|
8 |
Author: Chris Richardson
|
9 |
Text Domain: mappress-google-maps-for-wordpress
|
10 |
Thanks to all the translators and to Matthias Stasiak for his wonderful icons (http://code.google.com/p/google-maps-icons/)
|
@@ -35,7 +35,7 @@ if (is_dir(dirname( __FILE__ ) . '/pro')) {
|
|
35 |
}
|
36 |
|
37 |
class Mappress {
|
38 |
-
const VERSION = '2.
|
39 |
|
40 |
static
|
41 |
$baseurl,
|
@@ -296,7 +296,6 @@ class Mappress {
|
|
296 |
return;
|
297 |
|
298 |
$atts = self::scrub_atts($atts);
|
299 |
-
|
300 |
return self::get_mashup($atts);
|
301 |
}
|
302 |
|
@@ -525,8 +524,8 @@ class Mappress {
|
|
525 |
// Shortcode attributes are lowercase so convert everything to lowercase
|
526 |
$atts = array_change_key_case($atts);
|
527 |
|
528 |
-
// Map options
|
529 |
-
foreach(array('fullscreenControl', 'mapTypeControl', 'maxZoom', 'minZoom') as $opt) {
|
530 |
$lcopt = strtolower($opt);
|
531 |
if (isset($atts[$lcopt])) {
|
532 |
$atts['mapopts'][$opt] = $atts[$lcopt];
|
4 |
Plugin URI: https://www.mappresspro.com/mappress
|
5 |
Author URI: https://www.mappresspro.com/chris-contact
|
6 |
Description: MapPress makes it easy to add Google and Leaflet Maps to WordPress
|
7 |
+
Version: 2.50
|
8 |
Author: Chris Richardson
|
9 |
Text Domain: mappress-google-maps-for-wordpress
|
10 |
Thanks to all the translators and to Matthias Stasiak for his wonderful icons (http://code.google.com/p/google-maps-icons/)
|
35 |
}
|
36 |
|
37 |
class Mappress {
|
38 |
+
const VERSION = '2.50';
|
39 |
|
40 |
static
|
41 |
$baseurl,
|
296 |
return;
|
297 |
|
298 |
$atts = self::scrub_atts($atts);
|
|
|
299 |
return self::get_mashup($atts);
|
300 |
}
|
301 |
|
524 |
// Shortcode attributes are lowercase so convert everything to lowercase
|
525 |
$atts = array_change_key_case($atts);
|
526 |
|
527 |
+
// Map options - includes both leaflet and Google
|
528 |
+
foreach(array('disableDefaultUI', 'disableDoubleClickZoom', 'draggable', 'fullscreenControl', 'keyboardShortcuts', 'mapTypeControl', 'maxZoom', 'minZoom', 'panControl', 'rotateControl', 'scaleControl', 'scrollwheel', 'scrollWheelZoom', 'streetViewControl', 'zoomControl') as $opt) {
|
529 |
$lcopt = strtolower($opt);
|
530 |
if (isset($atts[$lcopt])) {
|
531 |
$atts['mapopts'][$opt] = $atts[$lcopt];
|
mappress_map.php
CHANGED
@@ -106,36 +106,32 @@ class Mappress_Map extends Mappress_Obj {
|
|
106 |
|
107 |
static function find($args) {
|
108 |
global $wpdb;
|
109 |
-
$args = (object) wp_parse_args($args, array('type' => 'post', 'page' => 1, 'page_size' => 20, 'postid' => null, 'title' => null));
|
110 |
-
|
111 |
$posts_table = $wpdb->prefix . 'mappress_posts';
|
|
|
|
|
|
|
|
|
|
|
112 |
|
113 |
-
|
|
|
|
|
114 |
|
115 |
-
|
116 |
-
$where .= $wpdb->prepare(" AND $wpdb->posts.post_title LIKE %s", '%' . $args->search . '%');
|
117 |
|
118 |
$limit = sprintf(" LIMIT %d, %d", ($args->page - 1) * $args->page_size, $args->page_size);
|
119 |
-
$sql = "SELECT SQL_CALC_FOUND_ROWS $
|
120 |
|
121 |
-
$
|
122 |
$found = $wpdb->get_var('SELECT FOUND_ROWS()');
|
123 |
|
124 |
-
$
|
125 |
-
foreach($
|
126 |
-
$
|
127 |
-
$results[] = array(
|
128 |
-
'id' => $row->mapid,
|
129 |
-
'postid' => $row->ID,
|
130 |
-
'post_title' => $row->post_title,
|
131 |
-
'can_edit' => current_user_can('edit_post', $row->ID),
|
132 |
-
'mapdata' => $map->to_json()
|
133 |
-
);
|
134 |
-
}
|
135 |
|
136 |
$pages = (int) ceil($found / $args->page_size);
|
137 |
$page = (int) min($args->page, $pages);
|
138 |
-
return (object) array('items' => $
|
139 |
}
|
140 |
|
141 |
static function ajax_find() {
|
@@ -160,7 +156,22 @@ class Mappress_Map extends Mappress_Obj {
|
|
160 |
$mapdata = unserialize($result->obj);
|
161 |
$mapdata->postid = $result->postid;
|
162 |
$mapdata->mapid = $result->mapid;
|
163 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
164 |
}
|
165 |
|
166 |
static function ajax_get() {
|
@@ -254,7 +265,9 @@ class Mappress_Map extends Mappress_Obj {
|
|
254 |
Mappress::ajax_response('Internal error, your data has not been saved!');
|
255 |
|
256 |
do_action('mappress_map_save', $mapid); // Use for your own developments
|
257 |
-
|
|
|
|
|
258 |
}
|
259 |
|
260 |
/**
|
@@ -564,56 +577,5 @@ class Mappress_Map extends Mappress_Obj {
|
|
564 |
static function compare_title($a, $b) {
|
565 |
return strcasecmp(strip_tags($a->title), strip_tags($b->title));
|
566 |
}
|
567 |
-
|
568 |
-
/**
|
569 |
-
* Get a list of maps attached to the post
|
570 |
-
*
|
571 |
-
* @param int $postid Post for which to get the list
|
572 |
-
* @return an array of all maps for the post or FALSE if no maps
|
573 |
-
*/
|
574 |
-
static function get_post_map_list($postid) {
|
575 |
-
global $wpdb;
|
576 |
-
$posts_table = $wpdb->prefix . 'mappress_posts';
|
577 |
-
|
578 |
-
$results = $wpdb->get_results($wpdb->prepare("SELECT postid, mapid FROM $posts_table WHERE postid = %d", $postid));
|
579 |
-
|
580 |
-
if ($results === false)
|
581 |
-
return false;
|
582 |
-
|
583 |
-
// Get all of the maps
|
584 |
-
$maps = array();
|
585 |
-
foreach($results as $key => $result) {
|
586 |
-
$map = Mappress_Map::get($result->mapid);
|
587 |
-
if ($map)
|
588 |
-
$maps[] = $map;
|
589 |
-
}
|
590 |
-
return $maps;
|
591 |
-
}
|
592 |
-
|
593 |
-
/**
|
594 |
-
* Get a list of maps for editing
|
595 |
-
*
|
596 |
-
* @param mixed $postid
|
597 |
-
*/
|
598 |
-
static function get_map_list($postid = null) {
|
599 |
-
global $post;
|
600 |
-
|
601 |
-
$postid = ($postid) ? $postid : $post->ID;
|
602 |
-
$maps = self::get_post_map_list($postid);
|
603 |
-
|
604 |
-
$actions = "<div class='mapp-actions'>"
|
605 |
-
. "<a href='#' data-mapp-media='edit'>" . __('Edit', 'mappress-google-maps-for-wordpress') . "</a> - "
|
606 |
-
. "<a href='#' data-mapp-media='insert'>" . __('Insert into post', 'mappress-google-maps-for-wordpress') . "</a> - "
|
607 |
-
. "<a href='#' data-mapp-media='remove'>" . __('Delete', 'mappress-google-maps-for-wordpress') . "</a>"
|
608 |
-
. "</div>";
|
609 |
-
|
610 |
-
$html = "<div class='mapp-list'><div class='mapp-items'>";
|
611 |
-
foreach($maps as $map) {
|
612 |
-
$title = ($map->title) ? $map->title : __('Untitled', 'mappress-google-maps-for-wordpress');
|
613 |
-
$html .= "<div class='mapp-item' data-mapp-media='edit' data-mapp-mapid='$map->mapid'><span class='mapp-title'>[$map->mapid] " . esc_html($title) . "</span>$actions</div>";
|
614 |
-
}
|
615 |
-
$html .= "</div></div>";
|
616 |
-
return $html;
|
617 |
-
}
|
618 |
}
|
619 |
?>
|
106 |
|
107 |
static function find($args) {
|
108 |
global $wpdb;
|
|
|
|
|
109 |
$posts_table = $wpdb->prefix . 'mappress_posts';
|
110 |
+
$args = (object) wp_parse_args($args, array('type' => 'post', 'output' => 'names', 'page' => 1, 'page_size' => 20, 'postid' => null, 'search' => null));
|
111 |
+
|
112 |
+
$where = array();
|
113 |
+
if ($args->type == 'post')
|
114 |
+
$where[] = $wpdb->prepare("postid=%d", $args->postid);
|
115 |
|
116 |
+
// Note: $wpdb->prepare uses tokens on % like queries
|
117 |
+
if ($args->type == 'all' && $args->search)
|
118 |
+
$where[] = $wpdb->prepare("$wpdb->posts.post_title LIKE %s", '%' . $args->search . '%');
|
119 |
|
120 |
+
$where = ($where) ? " WHERE " . implode(' AND ', $where) : '';
|
|
|
121 |
|
122 |
$limit = sprintf(" LIMIT %d, %d", ($args->page - 1) * $args->page_size, $args->page_size);
|
123 |
+
$sql = "SELECT SQL_CALC_FOUND_ROWS $posts_table.mapid FROM $posts_table INNER JOIN $wpdb->posts ON ($wpdb->posts.ID = $posts_table.postid) $where $limit";
|
124 |
|
125 |
+
$results = $wpdb->get_results($sql);
|
126 |
$found = $wpdb->get_var('SELECT FOUND_ROWS()');
|
127 |
|
128 |
+
$items = array();
|
129 |
+
foreach($results as $result)
|
130 |
+
$items[] = self::get($result->mapid, 'list');
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
131 |
|
132 |
$pages = (int) ceil($found / $args->page_size);
|
133 |
$page = (int) min($args->page, $pages);
|
134 |
+
return (object) array('items' => $items, 'page' => $page, 'pages' => $pages);
|
135 |
}
|
136 |
|
137 |
static function ajax_find() {
|
156 |
$mapdata = unserialize($result->obj);
|
157 |
$mapdata->postid = $result->postid;
|
158 |
$mapdata->mapid = $result->mapid;
|
159 |
+
|
160 |
+
// Return an object
|
161 |
+
if ($output == 'object')
|
162 |
+
return new Mappress_Map($mapdata);
|
163 |
+
|
164 |
+
// Return list item (with post data)
|
165 |
+
if ($output == 'list') {
|
166 |
+
$post = get_post($result->postid);
|
167 |
+
return array(
|
168 |
+
'mapid' => $mapdata->mapid,
|
169 |
+
'map_title' => $mapdata->title,
|
170 |
+
'postid' => $mapdata->postid,
|
171 |
+
'post_title' => ($post) ? $post->post_title : null,
|
172 |
+
'can_edit' => current_user_can('edit_post', $mapdata->postid)
|
173 |
+
);
|
174 |
+
}
|
175 |
}
|
176 |
|
177 |
static function ajax_get() {
|
265 |
Mappress::ajax_response('Internal error, your data has not been saved!');
|
266 |
|
267 |
do_action('mappress_map_save', $mapid); // Use for your own developments
|
268 |
+
|
269 |
+
// Re-read updated object and return it in response
|
270 |
+
Mappress::ajax_response('OK', self::get($mapid, 'list'));
|
271 |
}
|
272 |
|
273 |
/**
|
577 |
static function compare_title($a, $b) {
|
578 |
return strcasecmp(strip_tags($a->title), strip_tags($b->title));
|
579 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
580 |
}
|
581 |
?>
|
readme.txt
CHANGED
@@ -4,7 +4,7 @@ Donate link: https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_i
|
|
4 |
Tags: leaflet, openstreetmap, osm, mapbox, map box, google maps,google,map,maps,easy,poi,mapping,mapper,gps,lat,lon,latitude,longitude,geocoder,geocoding,georss,geo rss,geo,v3,marker,mashup,mash,api,v3,buddypress,mashup,geo,wp-geo,geo mashup,simplemap,simple,wpml
|
5 |
Requires at least: 4.5
|
6 |
Tested up to: 4.9
|
7 |
-
Stable tag: 2.
|
8 |
|
9 |
== Description ==
|
10 |
MapPress adds beautiful, interactive Google or Leaflet maps to WordPress.
|
@@ -86,6 +86,10 @@ Please see the plugin documentation pages:
|
|
86 |
|
87 |
== Changelog ==
|
88 |
|
|
|
|
|
|
|
|
|
89 |
= 2.49.8 =
|
90 |
* Added: error message when places API not loaded
|
91 |
* Added: enter points into map editor as "lat,lng"
|
4 |
Tags: leaflet, openstreetmap, osm, mapbox, map box, google maps,google,map,maps,easy,poi,mapping,mapper,gps,lat,lon,latitude,longitude,geocoder,geocoding,georss,geo rss,geo,v3,marker,mashup,mash,api,v3,buddypress,mashup,geo,wp-geo,geo mashup,simplemap,simple,wpml
|
5 |
Requires at least: 4.5
|
6 |
Tested up to: 4.9
|
7 |
+
Stable tag: 2.50
|
8 |
|
9 |
== Description ==
|
10 |
MapPress adds beautiful, interactive Google or Leaflet maps to WordPress.
|
86 |
|
87 |
== Changelog ==
|
88 |
|
89 |
+
= 2.50 =
|
90 |
+
* Added: updated editor map list in the map editor now allows searching across all posts
|
91 |
+
* Fixed: POI list was not refreshing when filtering in some installations
|
92 |
+
|
93 |
= 2.49.8 =
|
94 |
* Added: error message when places API not loaded
|
95 |
* Added: enter points into map editor as "lat,lng"
|