MapPress Easy Google Maps - Version 2.50.2

Version Description

  • Added: easy entry of Mapbox Studio style names in the MapPress settings screen
  • Fixed: custom styles are now retained when switching engines
  • Fixed: initialopeninfo parameter was not working for Leaflet maps
  • Fixed: better CSS for search box in firefox
Download this release

Release Info

Developer chrisvrichardson
Plugin Icon 128x128 MapPress Easy Google Maps
Version 2.50.2
Comparing to
See all releases

Code changes from version 2.50.1 to 2.50.2

css/mappress.css CHANGED
@@ -265,6 +265,9 @@ only screen and (min-device-pixel-ratio: 2) {
265
  text-transform: uppercase;
266
  }
267
 
 
 
 
268
 
269
  /*
270
  -----------------------------------------------------------------------------------
@@ -356,6 +359,11 @@ input.mapp-aa-input, input.mapp-aa-hint {
356
  Filters
357
  -----------------------------------------------------------------------------------
358
  */
 
 
 
 
 
359
  .mapp-filters {
360
  background-color: white;
361
  border-bottom: 1px solid lightgray;
265
  text-transform: uppercase;
266
  }
267
 
268
+ .mapp-header input[type="text"] {
269
+ display: inline;
270
+ }
271
 
272
  /*
273
  -----------------------------------------------------------------------------------
359
  Filters
360
  -----------------------------------------------------------------------------------
361
  */
362
+
363
+ .mapp-filters-toggle {
364
+ vertical-align: middle; /* Required in firefox */
365
+ }
366
+
367
  .mapp-filters {
368
  background-color: white;
369
  border-bottom: 1px solid lightgray;
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,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()
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(){t.initialOpen()}),this.addLayers());this.addStyles();this.addControls();this.addMenu();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(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())});mappl10n.options.engine=="leaflet"&&this.initialOpen()},initialOpen:function(){var n=this.pois_.length?this.pois_[0]:null;this.initialOpenDirections?this.openDirections(null,n):n&&this.initialOpenInfo&&n.open()},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 e=this,i,o,s,l,a,u,t,h,f;if(mappl10n.options.engine=="leaflet"){for(i=[],o=L.control.layers(),t=0;t<mappl10n.options.baseLayers.length;t++)s=mappl10n.options.baseLayers[t],l=mappl10n.options.providers[s.provider],i.push(n.extend({},l,s));for(a=mappl10n.options.style&&!this.editable&&this.mapTypeId=="streets"?mappl10n.options.style:this.mapTypeId,u=_.findIndex(i,{name:a}),u=u>=0?u:0,t=0;t<i.length;t++)h=L.tileLayer(i[t].url,i[t]),o.addBaseLayer(h,i[t].label),t==u&&h.addTo(this.map_);this.editable&&i.length>1&&o.addTo(this.map_);this.map_.on("baselayerchange",function(n){e.mapTypeId=n.layer.options.name})}else{var r=mappl10n.options.styles,c=mappl10n.options.style,v=["roadmap","satellite","terrain","hybrid"];if(c&&typeof r[c]!="undefined"&&this.map_.setOptions({styles:r[c]}),this.editable){for(f in r)this.map_.mapTypes.set(f,new google.maps.StyledMapType(r[f],{name:f})),v.push(f);this.map_.setOptions({mapTypeControlOptions:{mapTypeIds:v,position:google.maps.ControlPosition.TOP_RIGHT,style:google.maps.MapTypeControlStyle.DROPDOWN_MENU}})}else typeof r[this.mapTypeId]!="undefined"&&this.map_.setOptions({styles:r[this.mapTypeId]});mapp.event.addListener(this.map_,"maptypeid_changed",function(){e.mapTypeId=e.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))},addMenu:function(){var t=this;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)})},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()
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.50.1\n"
6
  "Report-Msgid-Bugs-To: https://wordpress.org/support/plugin/mappress-google-maps-for-wordpress\n"
7
- "POT-Creation-Date: 2018-08-14 18:07:42+00:00\n"
8
  "MIME-Version: 1.0\n"
9
  "Content-Type: text/plain; charset=UTF-8\n"
10
  "Content-Transfer-Encoding: 8bit\n"
@@ -62,7 +62,7 @@ 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
 
@@ -127,99 +127,99 @@ 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
 
@@ -235,7 +235,7 @@ msgstr ""
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
 
@@ -251,68 +251,68 @@ msgstr ""
251
  msgid "List"
252
  msgstr ""
253
 
254
- #: mappress_settings.php:83
255
  msgid "Sample Map"
256
  msgstr ""
257
 
258
- #: mappress_settings.php:85
259
  msgid "Basic Settings"
260
  msgstr ""
261
 
262
- #: mappress_settings.php:86
263
  msgid "Mapping Engine"
264
  msgstr ""
265
 
266
- #: mappress_settings.php:89
267
- msgid "MapBox access token"
268
  msgstr ""
269
 
270
- #: mappress_settings.php:91
271
  msgid "Google API key"
272
  msgstr ""
273
 
274
- #: mappress_settings.php:95
275
  msgid "License"
276
  msgstr ""
277
 
278
- #: mappress_settings.php:97
279
  msgid "Map Settings"
280
  msgstr ""
281
 
282
- #: mappress_settings.php:98
283
  msgid "Post types"
284
  msgstr ""
285
 
286
- #: mappress_settings.php:99
287
  msgid "Automatic display"
288
  msgstr ""
289
 
290
- #: mappress_settings.php:100
291
  msgid "Map alignment"
292
  msgstr ""
293
 
294
- #: mappress_settings.php:101 templates/map-popup.php:3
295
  #: templates/mashup-popup.php:6
296
  msgid "Directions"
297
  msgstr ""
298
 
299
- #: mappress_settings.php:103
300
  msgid "POI Settings"
301
  msgstr ""
302
 
303
- #: mappress_settings.php:104
304
  msgid "Default zoom"
305
  msgstr ""
306
 
307
- #: mappress_settings.php:105 mappress_settings.php:245
308
  msgid "Open first POI"
309
  msgstr ""
310
 
311
- #: mappress_settings.php:108
312
  msgid "Mashups"
313
  msgstr ""
314
 
315
- #: mappress_settings.php:109
316
  msgid "Icons"
317
  msgstr ""
318
 
@@ -429,7 +429,7 @@ msgid "Language for map controls"
429
  msgstr ""
430
 
431
  #: mappress_settings.php:256
432
- msgid "Enter token to use MapBox map tiles"
433
  msgstr ""
434
 
435
  #: mappress_settings.php:263
@@ -489,7 +489,7 @@ msgid "custom field"
489
  msgstr ""
490
 
491
  #: pro/mappress_filter.php:93 pro/mappress_filter.php:142
492
- #: pro/mappress_pro_settings.php:131
493
  msgid "Post type"
494
  msgstr ""
495
 
@@ -501,7 +501,7 @@ msgstr ""
501
  msgid "Post field"
502
  msgstr ""
503
 
504
- #: pro/mappress_filter.php:129 pro/mappress_pro_settings.php:255
505
  msgid "Custom Field"
506
  msgstr ""
507
 
@@ -585,254 +585,250 @@ msgstr ""
585
  msgid "Search"
586
  msgstr ""
587
 
588
- #: pro/mappress_pro_settings.php:35
589
  msgid "POI content"
590
  msgstr ""
591
 
592
- #: pro/mappress_pro_settings.php:36
593
  msgid "POI click"
594
  msgstr ""
595
 
596
- #: pro/mappress_pro_settings.php:37
597
  msgid "Thumbnails"
598
  msgstr ""
599
 
600
- #: pro/mappress_pro_settings.php:38
601
  msgid "Thumbnail size"
602
  msgstr ""
603
 
604
- #: pro/mappress_pro_settings.php:41
605
  msgid "Styled maps"
606
  msgstr ""
607
 
608
- #: pro/mappress_pro_settings.php:42
609
  msgid "Default style"
610
  msgstr ""
611
 
612
- #: pro/mappress_pro_settings.php:45
613
  msgid "Geocoding fields"
614
  msgstr ""
615
 
616
- #: pro/mappress_pro_settings.php:46
617
  msgid "Overwrite"
618
  msgstr ""
619
 
620
- #: pro/mappress_pro_settings.php:49
621
  msgid "Google Server API key"
622
  msgstr ""
623
 
624
- #: pro/mappress_pro_settings.php:51
625
  msgid "Custom templates"
626
  msgstr ""
627
 
628
- #: pro/mappress_pro_settings.php:53
629
  msgid "Force resize"
630
  msgstr ""
631
 
632
- #: pro/mappress_pro_settings.php:118
633
  msgid "more info"
634
  msgstr ""
635
 
636
- #: pro/mappress_pro_settings.php:119
637
  msgid "API key secured by IP address for geocoding (optional)"
638
  msgstr ""
639
 
640
- #: pro/mappress_pro_settings.php:138
641
  msgid "Value"
642
  msgstr ""
643
 
644
- #: pro/mappress_pro_settings.php:138 pro/mappress_pro_settings.php:250
645
  msgid "Icon"
646
  msgstr ""
647
 
648
- #: pro/mappress_pro_settings.php:153
649
  msgid "Enable updates for beta versions"
650
  msgstr ""
651
 
652
- #: pro/mappress_pro_settings.php:166
653
  msgid "Checkboxes"
654
  msgstr ""
655
 
656
- #: pro/mappress_pro_settings.php:166
657
  msgid "Select"
658
  msgstr ""
659
 
660
- #: pro/mappress_pro_settings.php:173
661
  msgid "Key"
662
  msgstr ""
663
 
664
- #: pro/mappress_pro_settings.php:173
665
  msgid "Format"
666
  msgstr ""
667
 
668
- #: pro/mappress_pro_settings.php:188
669
  msgid "Permanently resize existing maps"
670
  msgstr ""
671
 
672
- #: pro/mappress_pro_settings.php:190
673
  msgid "from %s to %s"
674
  msgstr ""
675
 
676
- #: pro/mappress_pro_settings.php:191
677
  msgid "Force Resize"
678
  msgstr ""
679
 
680
- #: pro/mappress_pro_settings.php:204
681
  msgid "Standard"
682
  msgstr ""
683
 
684
- #: pro/mappress_pro_settings.php:205
685
  msgid "InfoBox"
686
  msgstr ""
687
 
688
- #: pro/mappress_pro_settings.php:212
689
  msgid "Below map"
690
  msgstr ""
691
 
692
- #: pro/mappress_pro_settings.php:213
693
  msgid "Left of map"
694
  msgstr ""
695
 
696
- #: pro/mappress_pro_settings.php:219
697
  msgid "Enter license to enable automatic updates"
698
  msgstr ""
699
 
700
- #: pro/mappress_pro_settings.php:229
701
  msgid "Communication error, please try again later"
702
  msgstr ""
703
 
704
- #: pro/mappress_pro_settings.php:231
705
  msgid "Active"
706
  msgstr ""
707
 
708
- #: pro/mappress_pro_settings.php:233
709
  msgid "License is invalid or expired"
710
  msgstr ""
711
 
712
- #: pro/mappress_pro_settings.php:237
713
  msgid "POI title + body"
714
  msgstr ""
715
 
716
- #: pro/mappress_pro_settings.php:237
717
  msgid "Post title + excerpt"
718
  msgstr ""
719
 
720
- #: pro/mappress_pro_settings.php:242
721
  msgid "Open POI"
722
  msgstr ""
723
 
724
- #: pro/mappress_pro_settings.php:242
725
  msgid "Open post"
726
  msgstr ""
727
 
728
- #: pro/mappress_pro_settings.php:242
729
  msgid "Open post in new tab"
730
  msgstr ""
731
 
732
- #: pro/mappress_pro_settings.php:249
733
  msgid "Address line "
734
  msgstr ""
735
 
736
- #: pro/mappress_pro_settings.php:250
737
  msgid "Latitude"
738
  msgstr ""
739
 
740
- #: pro/mappress_pro_settings.php:250
741
  msgid "Longitude"
742
  msgstr ""
743
 
744
- #: pro/mappress_pro_settings.php:250
745
  msgid "Title"
746
  msgstr ""
747
 
748
- #: pro/mappress_pro_settings.php:250
749
  msgid "Body"
750
  msgstr ""
751
 
752
- #: pro/mappress_pro_settings.php:250
753
  msgid "Zoom"
754
  msgstr ""
755
 
756
- #: pro/mappress_pro_settings.php:255
757
  msgid "Map Field"
758
  msgstr ""
759
 
760
- #: pro/mappress_pro_settings.php:268
761
  msgid "Overwrite maps when posts are saved"
762
  msgstr ""
763
 
764
- #: pro/mappress_pro_settings.php:272
765
  msgid "Show a list of POIs with each map"
766
  msgstr ""
767
 
768
- #: pro/mappress_pro_settings.php:276
769
  msgid "Enable search"
770
  msgstr ""
771
 
772
- #: pro/mappress_pro_settings.php:280
773
- msgid "All"
774
- msgstr ""
775
-
776
- #: pro/mappress_pro_settings.php:281
777
- msgid "POIs to show when searching"
778
- msgstr ""
779
-
780
- #: pro/mappress_pro_settings.php:285
781
  msgid "Sort POI list by title"
782
  msgstr ""
783
 
784
- #: pro/mappress_pro_settings.php:291
785
  msgid "No styles have been defined yet"
786
  msgstr ""
787
 
788
- #: pro/mappress_pro_settings.php:300
789
  msgid "Styled Maps Wizard"
790
  msgstr ""
791
 
792
- #: pro/mappress_pro_settings.php:301
793
  msgid "JSON from Google's %s"
794
  msgstr ""
795
 
796
- #: pro/mappress_pro_settings.php:305
797
  msgid "Style name"
798
  msgstr ""
799
 
 
 
 
 
800
  #: pro/mappress_pro_settings.php:320
 
 
 
 
801
  msgid "Only admins or multisite super-admins can edit templates"
802
  msgstr ""
803
 
804
- #: pro/mappress_pro_settings.php:325
805
  msgid "WordPress 4.9 or higher is needed to use the template editor."
806
  msgstr ""
807
 
808
- #: pro/mappress_pro_settings.php:331
809
  msgid "Map popup"
810
  msgstr ""
811
 
812
- #: pro/mappress_pro_settings.php:332
813
  msgid "Map list item"
814
  msgstr ""
815
 
816
- #: pro/mappress_pro_settings.php:333
817
  msgid "Mashup popup"
818
  msgstr ""
819
 
820
- #: pro/mappress_pro_settings.php:334
821
  msgid "Mashup list item"
822
  msgstr ""
823
 
824
- #: pro/mappress_pro_settings.php:348
825
  msgid "or "
826
  msgstr ""
827
 
828
- #: pro/mappress_pro_settings.php:356
829
  msgid "Show featured image thumbnails in mashup POIs"
830
  msgstr ""
831
 
832
- #: pro/mappress_query.php:140
833
- msgid "%d results shown. Zoom in to see more."
834
- msgstr ""
835
-
836
  #: pro/mappress_updater.php:117
837
  msgid "Communication error"
838
  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.2\n"
6
  "Report-Msgid-Bugs-To: https://wordpress.org/support/plugin/mappress-google-maps-for-wordpress\n"
7
+ "POT-Creation-Date: 2018-08-18 00:36:33+00:00\n"
8
  "MIME-Version: 1.0\n"
9
  "Content-Type: text/plain; charset=UTF-8\n"
10
  "Content-Transfer-Encoding: 8bit\n"
62
  msgstr ""
63
 
64
  #: forms/map_media.php:26 forms/map_media.php:62 forms/map_media.php:66
65
+ #: mappress.php:644
66
  msgid "Untitled"
67
  msgstr ""
68
 
127
  msgid "Upgrade to MapPress Pro"
128
  msgstr ""
129
 
130
+ #: mappress.php:454
131
  msgid "MapPress database tables are missing. Please deactivate the plugin and activate it again to fix this."
132
  msgstr ""
133
 
134
+ #: mappress.php:459
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:464
139
  msgid "A Google Maps API key is required"
140
  msgstr ""
141
 
142
+ #: mappress.php:464
143
  msgid "Please update your"
144
  msgstr ""
145
 
146
+ #: mappress.php:464
147
  msgid "MapPress Settings"
148
  msgstr ""
149
 
150
+ #: mappress.php:474
151
  msgid "here"
152
  msgstr ""
153
 
154
+ #: mappress.php:475
155
  msgid "MapPress %s uses new templates. Please update your custom templates %s"
156
  msgstr ""
157
 
158
+ #: mappress.php:634
159
  msgid "Are you sure you want to delete?"
160
  msgstr ""
161
 
162
+ #: mappress.php:635
163
  msgid "Delete this map?"
164
  msgstr ""
165
 
166
+ #: mappress.php:636
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:637
171
  msgid "Error reading KML file"
172
  msgstr ""
173
 
174
+ #: mappress.php:638
175
  msgid "URL for KML file"
176
  msgstr ""
177
 
178
+ #: mappress.php:639
179
  msgid "Loading"
180
  msgstr ""
181
 
182
+ #: mappress.php:640
183
  msgid "Unable to get your location"
184
  msgstr ""
185
 
186
+ #: mappress.php:641
187
  msgid "No results"
188
  msgstr ""
189
 
190
+ #: mappress.php:642
191
  msgid "Save changes?"
192
  msgstr ""
193
 
194
+ #: mappress.php:643
195
  msgid "Shape"
196
  msgstr ""
197
 
198
+ #: mappress.php:669
199
  msgid "Improve this map"
200
  msgstr ""
201
 
202
+ #: mappress.php:685
203
  msgid "Streets"
204
  msgstr ""
205
 
206
+ #: mappress.php:686
207
  msgid "Outdoors"
208
  msgstr ""
209
 
210
+ #: mappress.php:687
211
  msgid "Light"
212
  msgstr ""
213
 
214
+ #: mappress.php:688
215
  msgid "Dark"
216
  msgstr ""
217
 
218
+ #: mappress.php:689
219
  msgid "Satellite"
220
  msgstr ""
221
 
222
+ #: mappress.php:690
223
  msgid "Satellite Streets"
224
  msgstr ""
225
 
235
  msgid "Map not found"
236
  msgstr ""
237
 
238
+ #: mappress_map.php:440 pro/mappress_pro_settings.php:33
239
  msgid "Filter"
240
  msgstr ""
241
 
251
  msgid "List"
252
  msgstr ""
253
 
254
+ #: mappress_settings.php:84
255
  msgid "Sample Map"
256
  msgstr ""
257
 
258
+ #: mappress_settings.php:86
259
  msgid "Basic Settings"
260
  msgstr ""
261
 
262
+ #: mappress_settings.php:87
263
  msgid "Mapping Engine"
264
  msgstr ""
265
 
266
+ #: mappress_settings.php:90
267
+ msgid "Mapbox access token"
268
  msgstr ""
269
 
270
+ #: mappress_settings.php:92
271
  msgid "Google API key"
272
  msgstr ""
273
 
274
+ #: mappress_settings.php:96
275
  msgid "License"
276
  msgstr ""
277
 
278
+ #: mappress_settings.php:98
279
  msgid "Map Settings"
280
  msgstr ""
281
 
282
+ #: mappress_settings.php:99
283
  msgid "Post types"
284
  msgstr ""
285
 
286
+ #: mappress_settings.php:100
287
  msgid "Automatic display"
288
  msgstr ""
289
 
290
+ #: mappress_settings.php:101
291
  msgid "Map alignment"
292
  msgstr ""
293
 
294
+ #: mappress_settings.php:102 templates/map-popup.php:3
295
  #: templates/mashup-popup.php:6
296
  msgid "Directions"
297
  msgstr ""
298
 
299
+ #: mappress_settings.php:104
300
  msgid "POI Settings"
301
  msgstr ""
302
 
303
+ #: mappress_settings.php:105
304
  msgid "Default zoom"
305
  msgstr ""
306
 
307
+ #: mappress_settings.php:106 mappress_settings.php:245
308
  msgid "Open first POI"
309
  msgstr ""
310
 
311
+ #: mappress_settings.php:109
312
  msgid "Mashups"
313
  msgstr ""
314
 
315
+ #: mappress_settings.php:110
316
  msgid "Icons"
317
  msgstr ""
318
 
429
  msgstr ""
430
 
431
  #: mappress_settings.php:256
432
+ msgid "Enter token to use Mapbox map tiles"
433
  msgstr ""
434
 
435
  #: mappress_settings.php:263
489
  msgstr ""
490
 
491
  #: pro/mappress_filter.php:93 pro/mappress_filter.php:142
492
+ #: pro/mappress_pro_settings.php:138
493
  msgid "Post type"
494
  msgstr ""
495
 
501
  msgid "Post field"
502
  msgstr ""
503
 
504
+ #: pro/mappress_filter.php:129 pro/mappress_pro_settings.php:262
505
  msgid "Custom Field"
506
  msgstr ""
507
 
585
  msgid "Search"
586
  msgstr ""
587
 
588
+ #: pro/mappress_pro_settings.php:34
589
  msgid "POI content"
590
  msgstr ""
591
 
592
+ #: pro/mappress_pro_settings.php:35
593
  msgid "POI click"
594
  msgstr ""
595
 
596
+ #: pro/mappress_pro_settings.php:36
597
  msgid "Thumbnails"
598
  msgstr ""
599
 
600
+ #: pro/mappress_pro_settings.php:37
601
  msgid "Thumbnail size"
602
  msgstr ""
603
 
604
+ #: pro/mappress_pro_settings.php:40 pro/mappress_pro_settings.php:42
605
  msgid "Styled maps"
606
  msgstr ""
607
 
608
+ #: pro/mappress_pro_settings.php:43
609
  msgid "Default style"
610
  msgstr ""
611
 
612
+ #: pro/mappress_pro_settings.php:46
613
  msgid "Geocoding fields"
614
  msgstr ""
615
 
616
+ #: pro/mappress_pro_settings.php:47
617
  msgid "Overwrite"
618
  msgstr ""
619
 
620
+ #: pro/mappress_pro_settings.php:50
621
  msgid "Google Server API key"
622
  msgstr ""
623
 
624
+ #: pro/mappress_pro_settings.php:52
625
  msgid "Custom templates"
626
  msgstr ""
627
 
628
+ #: pro/mappress_pro_settings.php:54
629
  msgid "Force resize"
630
  msgstr ""
631
 
632
+ #: pro/mappress_pro_settings.php:125
633
  msgid "more info"
634
  msgstr ""
635
 
636
+ #: pro/mappress_pro_settings.php:126
637
  msgid "API key secured by IP address for geocoding (optional)"
638
  msgstr ""
639
 
640
+ #: pro/mappress_pro_settings.php:145
641
  msgid "Value"
642
  msgstr ""
643
 
644
+ #: pro/mappress_pro_settings.php:145 pro/mappress_pro_settings.php:257
645
  msgid "Icon"
646
  msgstr ""
647
 
648
+ #: pro/mappress_pro_settings.php:160
649
  msgid "Enable updates for beta versions"
650
  msgstr ""
651
 
652
+ #: pro/mappress_pro_settings.php:173
653
  msgid "Checkboxes"
654
  msgstr ""
655
 
656
+ #: pro/mappress_pro_settings.php:173
657
  msgid "Select"
658
  msgstr ""
659
 
660
+ #: pro/mappress_pro_settings.php:180
661
  msgid "Key"
662
  msgstr ""
663
 
664
+ #: pro/mappress_pro_settings.php:180
665
  msgid "Format"
666
  msgstr ""
667
 
668
+ #: pro/mappress_pro_settings.php:195
669
  msgid "Permanently resize existing maps"
670
  msgstr ""
671
 
672
+ #: pro/mappress_pro_settings.php:197
673
  msgid "from %s to %s"
674
  msgstr ""
675
 
676
+ #: pro/mappress_pro_settings.php:198
677
  msgid "Force Resize"
678
  msgstr ""
679
 
680
+ #: pro/mappress_pro_settings.php:211
681
  msgid "Standard"
682
  msgstr ""
683
 
684
+ #: pro/mappress_pro_settings.php:212
685
  msgid "InfoBox"
686
  msgstr ""
687
 
688
+ #: pro/mappress_pro_settings.php:219
689
  msgid "Below map"
690
  msgstr ""
691
 
692
+ #: pro/mappress_pro_settings.php:220
693
  msgid "Left of map"
694
  msgstr ""
695
 
696
+ #: pro/mappress_pro_settings.php:226
697
  msgid "Enter license to enable automatic updates"
698
  msgstr ""
699
 
700
+ #: pro/mappress_pro_settings.php:236
701
  msgid "Communication error, please try again later"
702
  msgstr ""
703
 
704
+ #: pro/mappress_pro_settings.php:238
705
  msgid "Active"
706
  msgstr ""
707
 
708
+ #: pro/mappress_pro_settings.php:240
709
  msgid "License is invalid or expired"
710
  msgstr ""
711
 
712
+ #: pro/mappress_pro_settings.php:244
713
  msgid "POI title + body"
714
  msgstr ""
715
 
716
+ #: pro/mappress_pro_settings.php:244
717
  msgid "Post title + excerpt"
718
  msgstr ""
719
 
720
+ #: pro/mappress_pro_settings.php:249
721
  msgid "Open POI"
722
  msgstr ""
723
 
724
+ #: pro/mappress_pro_settings.php:249
725
  msgid "Open post"
726
  msgstr ""
727
 
728
+ #: pro/mappress_pro_settings.php:249
729
  msgid "Open post in new tab"
730
  msgstr ""
731
 
732
+ #: pro/mappress_pro_settings.php:256
733
  msgid "Address line "
734
  msgstr ""
735
 
736
+ #: pro/mappress_pro_settings.php:257
737
  msgid "Latitude"
738
  msgstr ""
739
 
740
+ #: pro/mappress_pro_settings.php:257
741
  msgid "Longitude"
742
  msgstr ""
743
 
744
+ #: pro/mappress_pro_settings.php:257
745
  msgid "Title"
746
  msgstr ""
747
 
748
+ #: pro/mappress_pro_settings.php:257
749
  msgid "Body"
750
  msgstr ""
751
 
752
+ #: pro/mappress_pro_settings.php:257
753
  msgid "Zoom"
754
  msgstr ""
755
 
756
+ #: pro/mappress_pro_settings.php:262
757
  msgid "Map Field"
758
  msgstr ""
759
 
760
+ #: pro/mappress_pro_settings.php:275
761
  msgid "Overwrite maps when posts are saved"
762
  msgstr ""
763
 
764
+ #: pro/mappress_pro_settings.php:279
765
  msgid "Show a list of POIs with each map"
766
  msgstr ""
767
 
768
+ #: pro/mappress_pro_settings.php:283
769
  msgid "Enable search"
770
  msgstr ""
771
 
772
+ #: pro/mappress_pro_settings.php:287
 
 
 
 
 
 
 
 
773
  msgid "Sort POI list by title"
774
  msgstr ""
775
 
776
+ #: pro/mappress_pro_settings.php:293
777
  msgid "No styles have been defined yet"
778
  msgstr ""
779
 
780
+ #: pro/mappress_pro_settings.php:302
781
  msgid "Styled Maps Wizard"
782
  msgstr ""
783
 
784
+ #: pro/mappress_pro_settings.php:303
785
  msgid "JSON from Google's %s"
786
  msgstr ""
787
 
788
+ #: pro/mappress_pro_settings.php:307 pro/mappress_pro_settings.php:323
789
  msgid "Style name"
790
  msgstr ""
791
 
792
+ #: pro/mappress_pro_settings.php:319
793
+ msgid "Mapbox Studio"
794
+ msgstr ""
795
+
796
  #: pro/mappress_pro_settings.php:320
797
+ msgid "Enter styles from %s"
798
+ msgstr ""
799
+
800
+ #: pro/mappress_pro_settings.php:338
801
  msgid "Only admins or multisite super-admins can edit templates"
802
  msgstr ""
803
 
804
+ #: pro/mappress_pro_settings.php:343
805
  msgid "WordPress 4.9 or higher is needed to use the template editor."
806
  msgstr ""
807
 
808
+ #: pro/mappress_pro_settings.php:349
809
  msgid "Map popup"
810
  msgstr ""
811
 
812
+ #: pro/mappress_pro_settings.php:350
813
  msgid "Map list item"
814
  msgstr ""
815
 
816
+ #: pro/mappress_pro_settings.php:351
817
  msgid "Mashup popup"
818
  msgstr ""
819
 
820
+ #: pro/mappress_pro_settings.php:352
821
  msgid "Mashup list item"
822
  msgstr ""
823
 
824
+ #: pro/mappress_pro_settings.php:366
825
  msgid "or "
826
  msgstr ""
827
 
828
+ #: pro/mappress_pro_settings.php:374
829
  msgid "Show featured image thumbnails in mashup POIs"
830
  msgstr ""
831
 
 
 
 
 
832
  #: pro/mappress_updater.php:117
833
  msgid "Communication error"
834
  msgstr ""
languages/texts.php CHANGED
@@ -61,7 +61,7 @@ __("List");
61
  __("Sample Map");
62
  __("Basic Settings");
63
  __("Mapping Engine");
64
- __("MapBox access token");
65
  __("Google API key");
66
  __("License");
67
  __("Map Settings");
@@ -102,7 +102,7 @@ __("Output scripts in footer");
102
  __("Disabled because Jetpack Infinite Scroll is active");
103
  __("disable if maps are output using AJAX");
104
  __("Language for map controls");
105
- __("Enter token to use MapBox map tiles");
106
  __("Default zoom when displaying a single POI");
107
  __("Easy Google Maps");
108
  __("Width (px or %)");
@@ -187,13 +187,13 @@ __("Map Field");
187
  __("Overwrite maps when posts are saved");
188
  __("Show a list of POIs with each map");
189
  __("Enable search");
190
- __("All");
191
- __("POIs to show when searching");
192
  __("Sort POI list by title");
193
  __("No styles have been defined yet");
194
  __("Styled Maps Wizard");
195
  __("JSON from Google's %s");
196
  __("Style name");
 
 
197
  __("Only admins or multisite super-admins can edit templates");
198
  __("WordPress 4.9 or higher is needed to use the template editor.");
199
  __("Map popup");
@@ -202,7 +202,6 @@ __("Mashup popup");
202
  __("Mashup list item");
203
  __("or ");
204
  __("Show featured image thumbnails in mashup POIs");
205
- __("%d results shown. Zoom in to see more.");
206
  __("Communication error");
207
  __("JSON error");
208
  __("Widget title");
61
  __("Sample Map");
62
  __("Basic Settings");
63
  __("Mapping Engine");
64
+ __("Mapbox access token");
65
  __("Google API key");
66
  __("License");
67
  __("Map Settings");
102
  __("Disabled because Jetpack Infinite Scroll is active");
103
  __("disable if maps are output using AJAX");
104
  __("Language for map controls");
105
+ __("Enter token to use Mapbox map tiles");
106
  __("Default zoom when displaying a single POI");
107
  __("Easy Google Maps");
108
  __("Width (px or %)");
187
  __("Overwrite maps when posts are saved");
188
  __("Show a list of POIs with each map");
189
  __("Enable search");
 
 
190
  __("Sort POI list by title");
191
  __("No styles have been defined yet");
192
  __("Styled Maps Wizard");
193
  __("JSON from Google's %s");
194
  __("Style name");
195
+ __("Mapbox Studio");
196
+ __("Enter styles from %s");
197
  __("Only admins or multisite super-admins can edit templates");
198
  __("WordPress 4.9 or higher is needed to use the template editor.");
199
  __("Map popup");
202
  __("Mashup list item");
203
  __("or ");
204
  __("Show featured image thumbnails in mashup POIs");
 
205
  __("Communication error");
206
  __("JSON error");
207
  __("Widget title");
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.50.1
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.50.1';
39
 
40
  static
41
  $baseurl,
@@ -438,12 +438,6 @@ class Mappress {
438
  Mappress::$options->save();
439
  }
440
 
441
- // Reset maxpois
442
- if ($current_version < '2.49.8') {
443
- Mappress::$options->maxPois = 0;
444
- Mappress::$options->save();
445
- }
446
-
447
  update_option('mappress_version', self::VERSION);
448
  }
449
 
@@ -666,54 +660,63 @@ class Mappress {
666
  'standardIconsUrl' => (self::$pro) ? Mappress_Icons::$standard_icons_url : null
667
  );
668
 
669
- // Baselayers - mapbox or OSM
670
  if (self::$options->engine == 'leaflet') {
671
-
672
- // Set providers
673
- $l10n['options']['providers'] = apply_filters('mappress_tile_providers', array(
674
  'mapbox' => array(
675
  'accessToken' => self::$options->mapbox,
676
  'attribution' => "<a href='https://www.mapbox.com/about/maps/' target='_blank'>&copy; Mapbox &copy; OpenStreetMap</a> <a class='mapbox-improve-map' href='https://www.mapbox.com/map-feedback/' target='_blank'>" . __('Improve this map', 'mappress-google-maps-for-wordpress') . "</a>",
677
- 'url' => 'https://api.mapbox.com/styles/v1/mapbox/{id}/tiles/256/{z}/{x}/{y}?access_token={accessToken}',
678
- 'tileSize' => 256,
679
  'zoomOffset' => 0
680
  ),
681
- 'mapbox-studio' => array(),
682
  'osm' => array(
683
- 'attribution' => 'Map data © <a href="https://openstreetmap.org">OpenStreetMap</a> contributors',
684
  'url' => 'https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png'
685
  )
686
- ));
 
687
 
688
- // Set baselayers
689
  $baselayers = array();
690
  if (self::$options->mapbox) {
691
  $baselayers = array(
692
- array('provider' => 'mapbox', 'id' => 'streets-v10', 'name' => 'streets', 'label' => __('Streets', 'mappress-google-maps-for-wordpress')),
693
- array('provider' => 'mapbox', 'id' => 'outdoors-v10', 'name' => 'outdoors', 'label' => __('Outdoors', 'mappress-google-maps-for-wordpress')),
694
- array('provider' => 'mapbox', 'id' => 'light-v9', 'name' => 'light', 'label' => __('Light', 'mappress-google-maps-for-wordpress')),
695
- array('provider' => 'mapbox', 'id' => 'dark-v9', 'name' => 'dark', 'label' => __('Dark', 'mappress-google-maps-for-wordpress')),
696
- array('provider' => 'mapbox', 'id' => 'satellite-v9', 'name' => 'satellite', 'label' => __('Satellite', 'mappress-google-maps-for-wordpress')),
697
- array('provider' => 'mapbox', 'id' => 'satellite-streets-v10', 'name' => 'satellite-streets', 'label' => __('Satellite Streets', 'mappress-google-maps-for-wordpress'))
698
  );
 
 
 
 
 
 
 
 
 
699
  } else {
700
  $baselayers = array(
701
  array('provider' => 'osm', 'id' => 'osm', 'name' => 'osm')
702
  );
703
  }
704
 
 
705
  $l10n['options']['baseLayers'] = apply_filters('mappress_baselayers', $baselayers);
 
 
 
 
706
  }
707
 
708
  // Global settings
709
- $options = array('autoupdate', 'country', 'defaultIcon', 'directions', 'directionsServer', 'engine', 'iconScale', 'iwType', 'mashupBody', 'mashupClick', 'maxPois', 'poiZoom', 'radius', 'search', 'size', 'sizes', 'style', 'styles', 'tiles');
710
  foreach($options as $option)
711
  $l10n['options'][$option] = self::$options->$option;
712
 
713
- // Styles
714
- foreach(self::$options->styles as $id => &$style)
715
- $l10n['options']['styles'][$id] = json_decode($style);
716
-
717
  return $l10n;
718
  }
719
 
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.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
  }
36
 
37
  class Mappress {
38
+ const VERSION = '2.50.2';
39
 
40
  static
41
  $baseurl,
438
  Mappress::$options->save();
439
  }
440
 
 
 
 
 
 
 
441
  update_option('mappress_version', self::VERSION);
442
  }
443
 
660
  'standardIconsUrl' => (self::$pro) ? Mappress_Icons::$standard_icons_url : null
661
  );
662
 
663
+ // Leaflet layers for mapbox / OSM
664
  if (self::$options->engine == 'leaflet') {
665
+ // Providers
666
+ $providers = array(
 
667
  'mapbox' => array(
668
  'accessToken' => self::$options->mapbox,
669
  'attribution' => "<a href='https://www.mapbox.com/about/maps/' target='_blank'>&copy; Mapbox &copy; OpenStreetMap</a> <a class='mapbox-improve-map' href='https://www.mapbox.com/map-feedback/' target='_blank'>" . __('Improve this map', 'mappress-google-maps-for-wordpress') . "</a>",
670
+ 'fresh' => true, // Fresh = true in order to provide updated studio styles
671
+ 'url' => "https://api.mapbox.com/styles/v1/{user}/{id}/tiles/256/{z}/{x}/{y}?access_token={accessToken}&fresh={fresh}",
672
  'zoomOffset' => 0
673
  ),
 
674
  'osm' => array(
675
+ 'attribution' => 'Map data © <a href="https://openstreetmap.org">OpenStreetMap</a> contributors',
676
  'url' => 'https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png'
677
  )
678
+ );
679
+ $l10n['options']['providers'] = apply_filters('mappress_tile_providers', $providers);
680
 
681
+ // Baselayers
682
  $baselayers = array();
683
  if (self::$options->mapbox) {
684
  $baselayers = array(
685
+ array('provider' => 'mapbox', 'user' => 'mapbox', 'id' => 'streets-v10', 'name' => 'streets', 'label' => __('Streets', 'mappress-google-maps-for-wordpress')),
686
+ array('provider' => 'mapbox', 'user' => 'mapbox', 'id' => 'outdoors-v10', 'name' => 'outdoors', 'label' => __('Outdoors', 'mappress-google-maps-for-wordpress')),
687
+ array('provider' => 'mapbox', 'user' => 'mapbox', 'id' => 'light-v9', 'name' => 'light', 'label' => __('Light', 'mappress-google-maps-for-wordpress')),
688
+ array('provider' => 'mapbox', 'user' => 'mapbox', 'id' => 'dark-v9', 'name' => 'dark', 'label' => __('Dark', 'mappress-google-maps-for-wordpress')),
689
+ array('provider' => 'mapbox', 'user' => 'mapbox', 'id' => 'satellite-v9', 'name' => 'satellite', 'label' => __('Satellite', 'mappress-google-maps-for-wordpress')),
690
+ array('provider' => 'mapbox', 'user' => 'mapbox', 'id' => 'satellite-streets-v10', 'name' => 'satellite-streets', 'label' => __('Satellite Streets', 'mappress-google-maps-for-wordpress'))
691
  );
692
+
693
+ // Mapbox studio styles (remove base url and everything after '.html', remainder is user/id)
694
+ foreach(self::$options->mapboxStyles as $name => $url) {
695
+ $url = strstr($url, '.html', true);
696
+ $url = str_ireplace('https://api.mapbox.com/styles/v1/', '', $url);
697
+ $parts = explode('/', $url);
698
+ if (count($parts) == 2)
699
+ $baselayers[] = array('provider' => 'mapbox', 'user' => $parts[0], 'id' => $parts[1], 'name' => $name, 'label' => $name);
700
+ }
701
  } else {
702
  $baselayers = array(
703
  array('provider' => 'osm', 'id' => 'osm', 'name' => 'osm')
704
  );
705
  }
706
 
707
+ // User-defined baselayers
708
  $l10n['options']['baseLayers'] = apply_filters('mappress_baselayers', $baselayers);
709
+ } else {
710
+ // Google wizard styles
711
+ foreach(self::$options->styles as $id => &$style)
712
+ $l10n['options']['styles'][$id] = json_decode($style);
713
  }
714
 
715
  // Global settings
716
+ $options = array('autoupdate', 'country', 'defaultIcon', 'directions', 'directionsServer', 'engine', 'iconScale', 'iwType', 'mashupBody', 'mashupClick', 'poiZoom', 'radius', 'search', 'size', 'sizes', 'style', 'styles', 'tiles');
717
  foreach($options as $option)
718
  $l10n['options'][$option] = self::$options->$option;
719
 
 
 
 
 
720
  return $l10n;
721
  }
722
 
mappress_settings.php CHANGED
@@ -27,9 +27,10 @@ class Mappress_Options extends Mappress_Obj {
27
  $layout = 'left',
28
  $license,
29
  $mapbox,
 
 
30
  $mashupBody = 'poi',
31
  $mashupClick = 'poi',
32
- $maxPois = 0,
33
  $metaKeys = array(),
34
  $metaSyncSave = true,
35
  $poiList = false,
@@ -86,7 +87,7 @@ class Mappress_Settings {
86
  $this->add_field('engine', __('Mapping Engine', 'mappress-google-maps-for-wordpress'), 'basic');
87
 
88
  if ($this->options->engine == 'leaflet')
89
- $this->add_field('mapbox', __('MapBox access token', 'mappress-google-maps-for-wordpress'), 'basic');
90
  else
91
  $this->add_field('apiKey', __('Google API key', 'mappress-google-maps-for-wordpress'), 'basic');
92
 
@@ -107,7 +108,6 @@ class Mappress_Settings {
107
  if (Mappress::$pro) {
108
  $this->add_section('mashups', __('Mashups', 'mappress-google-maps-for-wordpress'));
109
  $this->add_section('icons', __('Icons', 'mappress-google-maps-for-wordpress'));
110
- if ($this->options->engine != 'leaflet')
111
  $this->add_section('styles', __('Styled Maps', 'mappress-google-maps-for-wordpress'));
112
  $this->add_section('geocoding', __('Geocoding', 'mappress-google-maps-for-wordpress'));
113
  $this->add_section('templates', __('Templates', 'mappress-google-maps-for-wordpress'));
@@ -253,7 +253,7 @@ class Mappress_Settings {
253
  }
254
 
255
  function set_mapbox($name) {
256
- echo Mappress_Controls::input($name, $this->options->mapbox, array('size' => '50', 'placeholder' => __('Enter token to use MapBox map tiles', 'mappress-google-maps-for-wordpress')));
257
  echo Mappress_Controls::help('', 'https://www.mapbox.com/help/define-access-token/');
258
  }
259
 
27
  $layout = 'left',
28
  $license,
29
  $mapbox,
30
+ $mapboxCache = 0,
31
+ $mapboxStyles = array(),
32
  $mashupBody = 'poi',
33
  $mashupClick = 'poi',
 
34
  $metaKeys = array(),
35
  $metaSyncSave = true,
36
  $poiList = false,
87
  $this->add_field('engine', __('Mapping Engine', 'mappress-google-maps-for-wordpress'), 'basic');
88
 
89
  if ($this->options->engine == 'leaflet')
90
+ $this->add_field('mapbox', __('Mapbox access token', 'mappress-google-maps-for-wordpress'), 'basic');
91
  else
92
  $this->add_field('apiKey', __('Google API key', 'mappress-google-maps-for-wordpress'), 'basic');
93
 
108
  if (Mappress::$pro) {
109
  $this->add_section('mashups', __('Mashups', 'mappress-google-maps-for-wordpress'));
110
  $this->add_section('icons', __('Icons', 'mappress-google-maps-for-wordpress'));
 
111
  $this->add_section('styles', __('Styled Maps', 'mappress-google-maps-for-wordpress'));
112
  $this->add_section('geocoding', __('Geocoding', 'mappress-google-maps-for-wordpress'));
113
  $this->add_section('templates', __('Templates', 'mappress-google-maps-for-wordpress'));
253
  }
254
 
255
  function set_mapbox($name) {
256
+ echo Mappress_Controls::input($name, $this->options->mapbox, array('size' => '50', 'placeholder' => __('Enter token to use Mapbox map tiles', 'mappress-google-maps-for-wordpress')));
257
  echo Mappress_Controls::help('', 'https://www.mapbox.com/help/define-access-token/');
258
  }
259
 
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.50.1
8
 
9
  == Description ==
10
  MapPress adds beautiful, interactive Google or Leaflet maps to WordPress.
@@ -86,6 +86,12 @@ Please see the plugin documentation pages:
86
 
87
  == Changelog ==
88
 
 
 
 
 
 
 
89
  = 2.50.1 =
90
  * Fixed: updater was not correctly checking major versions, e.g. 2.50 vs 2.50.1
91
 
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.2
8
 
9
  == Description ==
10
  MapPress adds beautiful, interactive Google or Leaflet maps to WordPress.
86
 
87
  == Changelog ==
88
 
89
+ = 2.50.2 =
90
+ * Added: easy entry of Mapbox Studio style names in the MapPress settings screen
91
+ * Fixed: custom styles are now retained when switching engines
92
+ * Fixed: initialopeninfo parameter was not working for Leaflet maps
93
+ * Fixed: better CSS for search box in firefox
94
+
95
  = 2.50.1 =
96
  * Fixed: updater was not correctly checking major versions, e.g. 2.50 vs 2.50.1
97