PUT A MAP ON IT!
Enhanced geolocation and mapping with Geo Mashup
http://jeremyclarke.org • @jeremyclarke
Download these slides:
http://slideshare.net/jeremyclarke
Creative Commons Share Alike
http://creativecommons.org/licenses/by-sa/3.0/
WHO IS JEREMY CLARKE?
• Communications Studies at Concordia
University.
• HTML+CSS since 2003
• Montreal WordPress Organizer
• Code & Design for GlobalVoices
OUTLINE
• Geolocation concepts and tagging objects
• Geolocation in “core”WordPress
• Geo Mashup and different map types
• Configuring Geo Mashup
• Design considerations for map display
WHAT IS GEOLOCATION?
• Choosing coordinates for objects
• Displaying location as metadata
• Displaying maps as navigation
• Searching for content by location
GEOLOCATION IN WP?
• Not really.
• Mobile app & wordpress.com allow geotagging
• Barely used in default themes (no maps)
• Standardized metadata for coordinates
https://en.support.wordpress.com/geotagging/
GEOLOCATION IN WP?
https://en.support.wordpress.com/geotagging/
WHY GEOLOCATE?
• Ambient awareness of locale (metadata)
• Colorful, serendipitous discovery (navigation)
• Hyperlocal content (search)
• Just in case (for later)
MAP EVERYTHING?
• No.
• Big, distracting, slow and heavy
• Rarely the most effective navigation
• Consider your unique content
• Use only when needed or harmless
• As always: Put users first
https://wordpress.org/plugins/geo-mashup/
WHY GEO MASHUP?
• You need a plugin and this one works
• Powerful, customizable and integrated across WP
• Co-operates with standard WP geodata
• Has everything: Geotagging, mapping, radius search.
• Free and community-driven.
https://wordpress.org/plugins/geo-mashup/
WHY NOT GEO MASHUP?
• Overkill for many use-cases
• Complex to set up and test
• Requires custom styling (IMHO)
• Awkward code, subtle bugs
• Investigate other plugins if your needs are simple
https://wordpress.org/plugins/tags/geo
EXAMPLE: RISINGVOICES MICROGRANTS
• Navigate grant proposals via map
• Display proposal location on post view
http://rising.globalvoicesonline.org/amazonia-es/
EXAMPLE: GLOBALVOICES
COMMUNITY BLOG
• Map of blog posts on homepage
• Optional location display (shortcode) in posts
http://community.globalvoicesonline.org/
GEOTAGGINGTHINGS
Post editor geolocation User geolocation
Hard part: Choosing a single location
MAP_CONTENT=GLOBAL
• Show all posts on the site
• Click for post preview
• Customize zoom level, style, post
limits etc.
• Full power of WP_Query available
MAP_CONTENT=SINGLE
• Show current post on a map
• Not very interactive
• Optional: Link back to global map
• Insert in content with shortcode
• Display in theme with PHP
MORE MAPTYPES
• Contextual: Show all posts in main WP_Query
• Radius: Show posts within $x km of a location
• Place: Search for country, city, town, postal code
• Custom: Pass in object_ids,WP_Query or taxonomy
• Users: Show your authors/community on a map
• OMG: More options than you want or need
SHORTCODES & PHP
• Almost all features available as [shortcodes]

AND as static PHP methods (functions).
• Shortcodes allow easy display inside post content.
• PHP gives precise control anywhere in your theme.
[geo_mashup_map] -> GeoMashup::map()
[geo_mashup_full_post] -> GeoMashup::full_post()
[geo_mashup_location_info] -> GeoMashup::location_info()
SHORTCODES & PHP
[geo_mashup_map height="200" width="400" zoom="2" add_overview_control="false" add_map_type_control="false"]
<?php echo GeoMashup::map( ‘height=200&width=400&zoom=2&add_overview_control=false&add_map_type_control=false' );?>
echo GeoMashup::map( array(
'height' => 200,
'width' => 400,
'zoom' => 2,
'add_overview_control' => 'false',
'add_map_type_control' => 'false',
);
Complex map: shortcode
Complex map: PHP+wp_parse_args()
Complex map: PHP+array
OVERALL CONFIGURATION
MAP-TYPE CONFIGURATION
INDIVIDUAL MAP OPTIONS
FIXING RESPONSIVENESS
• Horribly unresponsive by default (fixed width+height)
• Use Width: 100% as baseline
• Use Height in px and find a balance
• Height is hardcoded for each map, can’t be responsive :(
SPECIAL MOBILE CONFIG
• Fixed height for desktop will never work for mobile
• Use MobileESP* and custom plugin code to identify
small devices (smartphones)
• Filter height to fit in smartphone screen
• Filter zoom to to match new smaller size
• Consider hiding maps entirely for mobile devices :(
* https://github.com/ahand/mobileesp
RESPONSIVE FUTURE?
• Google Maps can be responsive* but not with Geo Mashup
• CSS hack to maintain aspect ratio (shape) across widths
• Hopefully: Future versions offer aspect ratio argument
* http://www.labnol.org/internet/embed-responsive-google-maps/28333/
STYLING LOCATION POPUPS
• Awful by default.
• Copy template file into your theme
and edit to match:
geo-mashup-info-window.php
• Style CSS with .locationinfo
• Media queries target map iframe, not full window:
@media only screen and (max-width:300px) {
.locationinfo {width: 160px;}
}
GEOLOCATING ATTACHMENTS
• Not supported by Geo Mashup, but possible
• Combine with Media Library Assistant* plugin:
• Enables postmeta & taxonomy for attachments
• Imports metadata from images
• Can import GPS coordinates to standard WP storage*
https://wordpress.org/support/topic/geo-tag-custom-field
https://wordpress.org/plugins/media-library-assistant/
GEOLOCATING ATTACHMENTS
http://middlememory.com/
GEO MASHUP RESOURCES
• Features overview
• Tag reference (shortcodes and template tags)
• PHP API (helper functions and classes)
https://github.com/cyberhobo/wordpress-geo-mashup/wiki/PHP-API
https://github.com/cyberhobo/wordpress-geo-mashup/wiki/Tag-Reference
https://github.com/cyberhobo/wordpress-geo-mashup/wiki/Feature-Usage
• GitHub repository (development and issue tracker)
https://github.com/cyberhobo/wordpress-geo-mashup/
PUT A MAP ON IT!
Enhanced geolocation and mapping with Geo Mashup
http://jeremyclarke.org • @jeremyclarke
Download these slides:
http://slideshare.net/jeremyclarke
Creative Commons Share Alike
http://creativecommons.org/licenses/by-sa/3.0/

More Related Content

PDF
DRY CSS A don’t-repeat-yourself methodology for creating efficient, unified a...
KEY
WordCamp NYC - DRY CSS
PDF
Creating Layouts and Landing Pages for Drupal 8 - DrupalCon Dublin
PDF
Responsive Web Design using ZURB Foundation
KEY
Getting started with CSS frameworks using Zurb foundation
PDF
Zurb foundation
PDF
Responsive Design in Drupal with Zen and Zen Grids
PPTX
Drupal Camp Manila 2014 - Theming with Zen
DRY CSS A don’t-repeat-yourself methodology for creating efficient, unified a...
WordCamp NYC - DRY CSS
Creating Layouts and Landing Pages for Drupal 8 - DrupalCon Dublin
Responsive Web Design using ZURB Foundation
Getting started with CSS frameworks using Zurb foundation
Zurb foundation
Responsive Design in Drupal with Zen and Zen Grids
Drupal Camp Manila 2014 - Theming with Zen

What's hot (20)

PPT
Creating Responsive Drupal Sites with Zen Grids and the Zen 5 Theme
PDF
Creating Landing Pages and Layouts for Drupal 8 - DrupalCon Baltimore
PDF
Creating Dynamic Landing Pages for Drupal with Panels - Webinar
ODP
Drupal distributions - how to build them
PDF
What is Drupal? And Why is it Useful? Webinar
PPTX
BDUG Responsive Web Theming - 7/23/12
PDF
Introduction to the Drupal - Web Experience Toolkit
PDF
Creating a Reusable Drupal Website for Higher Education - at USG Tech Day
PDF
DrupalCamp NYC Panels Presentation - April 2014
PDF
Creating a Responsive Drupal Theme: Presentation from DrupalCamp Montreal 2012
PDF
Minimalist Theming: How to Build a Lean, Mean Drupal 8 Theme
PDF
Slides bootstrap-4
KEY
What is Object Oriented CSS?
PDF
Decoupling the Front-end with Modular CSS
PDF
A Custom Drupal Theme in 40 Minutes
PPTX
Wp nhcc portfolio
ODP
Drupal - Blocks vs Context vs Panels
PPTX
All about WordPress Posts and Pages WordCamp 2013
PDF
Creating a Reusable Drupal Website for Higher Education - Webinar
PDF
Intro to Drupal
Creating Responsive Drupal Sites with Zen Grids and the Zen 5 Theme
Creating Landing Pages and Layouts for Drupal 8 - DrupalCon Baltimore
Creating Dynamic Landing Pages for Drupal with Panels - Webinar
Drupal distributions - how to build them
What is Drupal? And Why is it Useful? Webinar
BDUG Responsive Web Theming - 7/23/12
Introduction to the Drupal - Web Experience Toolkit
Creating a Reusable Drupal Website for Higher Education - at USG Tech Day
DrupalCamp NYC Panels Presentation - April 2014
Creating a Responsive Drupal Theme: Presentation from DrupalCamp Montreal 2012
Minimalist Theming: How to Build a Lean, Mean Drupal 8 Theme
Slides bootstrap-4
What is Object Oriented CSS?
Decoupling the Front-end with Modular CSS
A Custom Drupal Theme in 40 Minutes
Wp nhcc portfolio
Drupal - Blocks vs Context vs Panels
All about WordPress Posts and Pages WordCamp 2013
Creating a Reusable Drupal Website for Higher Education - Webinar
Intro to Drupal
Ad

Viewers also liked (10)

PDF
Layar November 5 Webinar - Discover the New Geo SDK
PDF
Keep Your Code Organized! WordCamp Montreal 2013 Presentation slides
KEY
The Fast And The Fabulous
PDF
Our Best Practices Are Killing Us
PDF
Scalable CSS Architecture
KEY
Object Oriented CSS
PPT
Mapwork calculations
DOC
Geography Skills Revision
PPT
River Changes And Landforms
PPT
Simple Process Mapping Techniques
Layar November 5 Webinar - Discover the New Geo SDK
Keep Your Code Organized! WordCamp Montreal 2013 Presentation slides
The Fast And The Fabulous
Our Best Practices Are Killing Us
Scalable CSS Architecture
Object Oriented CSS
Mapwork calculations
Geography Skills Revision
River Changes And Landforms
Simple Process Mapping Techniques
Ad

Similar to Put A Map On It! Enhanced geolocation in WordPress with Geo Mashup (20)

KEY
Ioannis Doxaras on GIS and Gmaps at 1st GTUG meetup Greece
PDF
Google Developer Day 2010 Japan: Android や iPhone で活用する Maps API のモバイル端末向け新機能...
PPTX
TMS Google Mapping Components
PDF
CKEditor Widgets with Drupal
PDF
Getting Oriented with MapKit: Everything you need to get started with the new...
PPTX
3 Approaches to Mobile - An A to Z Primer.
PDF
Trail of Two Maps
PDF
Mapping on iOS and Android, Wally McClure
KEY
Mymap4everything - revised
PDF
Map box styles in GeoServer and OpenLayers
PPT
Web enabling your survey business ppt version
PPTX
My experience and suggestions as a web-GIS developer
PPT
Performance and Scalability for Maps API Sites (Dev Fest '10 Mexico)
PDF
Building Responsive Websites with Drupal
PDF
WordPress Navigation in Responsive Design
PDF
GR8Conf 2011: Building Progressive UIs with Grails
PPTX
Mobile web in eZ Publish
PDF
Building responsive web mobile mapping applications
PPTX
Hacking up location aware apps
PDF
Great Responsive-ability Web Design
Ioannis Doxaras on GIS and Gmaps at 1st GTUG meetup Greece
Google Developer Day 2010 Japan: Android や iPhone で活用する Maps API のモバイル端末向け新機能...
TMS Google Mapping Components
CKEditor Widgets with Drupal
Getting Oriented with MapKit: Everything you need to get started with the new...
3 Approaches to Mobile - An A to Z Primer.
Trail of Two Maps
Mapping on iOS and Android, Wally McClure
Mymap4everything - revised
Map box styles in GeoServer and OpenLayers
Web enabling your survey business ppt version
My experience and suggestions as a web-GIS developer
Performance and Scalability for Maps API Sites (Dev Fest '10 Mexico)
Building Responsive Websites with Drupal
WordPress Navigation in Responsive Design
GR8Conf 2011: Building Progressive UIs with Grails
Mobile web in eZ Publish
Building responsive web mobile mapping applications
Hacking up location aware apps
Great Responsive-ability Web Design

More from Jer Clarke (8)

PDF
globalvoices.org - How our CC license spawned a world class translation commu...
PDF
Global Voices proves Creative Commons is Awesome • CC Salon Montreal
PPT
Widgetize Everything: Building smarter WordPress themes with Widgets and Temp...
PPT
NetBeans, IDEs and faster programming for WordPress - WordCamp NYC 2009
PPT
Caching and Optimization for WordPress
PDF
WordPress Code and Setup Strategies and Advice, WordCamp Toronto '09
PPT
Global Voices Generic Presentation
PPT
Global Voices - Democratising the web with Wordpress and Love
globalvoices.org - How our CC license spawned a world class translation commu...
Global Voices proves Creative Commons is Awesome • CC Salon Montreal
Widgetize Everything: Building smarter WordPress themes with Widgets and Temp...
NetBeans, IDEs and faster programming for WordPress - WordCamp NYC 2009
Caching and Optimization for WordPress
WordPress Code and Setup Strategies and Advice, WordCamp Toronto '09
Global Voices Generic Presentation
Global Voices - Democratising the web with Wordpress and Love

Recently uploaded (20)

PDF
Transform-Your-Factory-with-AI-Driven-Quality-Engineering.pdf
PDF
sbt 2.0: go big (Scala Days 2025 edition)
PDF
The-Future-of-Automotive-Quality-is-Here-AI-Driven-Engineering.pdf
PPTX
Build Your First AI Agent with UiPath.pptx
PDF
The influence of sentiment analysis in enhancing early warning system model f...
PDF
sustainability-14-14877-v2.pddhzftheheeeee
PDF
Enhancing plagiarism detection using data pre-processing and machine learning...
PDF
OpenACC and Open Hackathons Monthly Highlights July 2025
PDF
Accessing-Finance-in-Jordan-MENA 2024 2025.pdf
PDF
Transform-Quality-Engineering-with-AI-A-60-Day-Blueprint-for-Digital-Success.pdf
PDF
Transform-Your-Supply-Chain-with-AI-Driven-Quality-Engineering.pdf
PPTX
MicrosoftCybserSecurityReferenceArchitecture-April-2025.pptx
PDF
Comparative analysis of machine learning models for fake news detection in so...
PPT
Geologic Time for studying geology for geologist
PPTX
Microsoft Excel 365/2024 Beginner's training
PDF
Consumable AI The What, Why & How for Small Teams.pdf
PDF
Early detection and classification of bone marrow changes in lumbar vertebrae...
PDF
Taming the Chaos: How to Turn Unstructured Data into Decisions
PPTX
Training Program for knowledge in solar cell and solar industry
PPTX
GROUP4NURSINGINFORMATICSREPORT-2 PRESENTATION
Transform-Your-Factory-with-AI-Driven-Quality-Engineering.pdf
sbt 2.0: go big (Scala Days 2025 edition)
The-Future-of-Automotive-Quality-is-Here-AI-Driven-Engineering.pdf
Build Your First AI Agent with UiPath.pptx
The influence of sentiment analysis in enhancing early warning system model f...
sustainability-14-14877-v2.pddhzftheheeeee
Enhancing plagiarism detection using data pre-processing and machine learning...
OpenACC and Open Hackathons Monthly Highlights July 2025
Accessing-Finance-in-Jordan-MENA 2024 2025.pdf
Transform-Quality-Engineering-with-AI-A-60-Day-Blueprint-for-Digital-Success.pdf
Transform-Your-Supply-Chain-with-AI-Driven-Quality-Engineering.pdf
MicrosoftCybserSecurityReferenceArchitecture-April-2025.pptx
Comparative analysis of machine learning models for fake news detection in so...
Geologic Time for studying geology for geologist
Microsoft Excel 365/2024 Beginner's training
Consumable AI The What, Why & How for Small Teams.pdf
Early detection and classification of bone marrow changes in lumbar vertebrae...
Taming the Chaos: How to Turn Unstructured Data into Decisions
Training Program for knowledge in solar cell and solar industry
GROUP4NURSINGINFORMATICSREPORT-2 PRESENTATION

Put A Map On It! Enhanced geolocation in WordPress with Geo Mashup

  • 1. PUT A MAP ON IT! Enhanced geolocation and mapping with Geo Mashup http://jeremyclarke.org • @jeremyclarke Download these slides: http://slideshare.net/jeremyclarke Creative Commons Share Alike http://creativecommons.org/licenses/by-sa/3.0/
  • 2. WHO IS JEREMY CLARKE? • Communications Studies at Concordia University. • HTML+CSS since 2003 • Montreal WordPress Organizer • Code & Design for GlobalVoices
  • 3. OUTLINE • Geolocation concepts and tagging objects • Geolocation in “core”WordPress • Geo Mashup and different map types • Configuring Geo Mashup • Design considerations for map display
  • 4. WHAT IS GEOLOCATION? • Choosing coordinates for objects • Displaying location as metadata • Displaying maps as navigation • Searching for content by location
  • 5. GEOLOCATION IN WP? • Not really. • Mobile app & wordpress.com allow geotagging • Barely used in default themes (no maps) • Standardized metadata for coordinates https://en.support.wordpress.com/geotagging/
  • 7. WHY GEOLOCATE? • Ambient awareness of locale (metadata) • Colorful, serendipitous discovery (navigation) • Hyperlocal content (search) • Just in case (for later)
  • 8. MAP EVERYTHING? • No. • Big, distracting, slow and heavy • Rarely the most effective navigation • Consider your unique content • Use only when needed or harmless • As always: Put users first
  • 10. WHY GEO MASHUP? • You need a plugin and this one works • Powerful, customizable and integrated across WP • Co-operates with standard WP geodata • Has everything: Geotagging, mapping, radius search. • Free and community-driven. https://wordpress.org/plugins/geo-mashup/
  • 11. WHY NOT GEO MASHUP? • Overkill for many use-cases • Complex to set up and test • Requires custom styling (IMHO) • Awkward code, subtle bugs • Investigate other plugins if your needs are simple https://wordpress.org/plugins/tags/geo
  • 12. EXAMPLE: RISINGVOICES MICROGRANTS • Navigate grant proposals via map • Display proposal location on post view http://rising.globalvoicesonline.org/amazonia-es/
  • 13. EXAMPLE: GLOBALVOICES COMMUNITY BLOG • Map of blog posts on homepage • Optional location display (shortcode) in posts http://community.globalvoicesonline.org/
  • 14. GEOTAGGINGTHINGS Post editor geolocation User geolocation Hard part: Choosing a single location
  • 15. MAP_CONTENT=GLOBAL • Show all posts on the site • Click for post preview • Customize zoom level, style, post limits etc. • Full power of WP_Query available
  • 16. MAP_CONTENT=SINGLE • Show current post on a map • Not very interactive • Optional: Link back to global map • Insert in content with shortcode • Display in theme with PHP
  • 17. MORE MAPTYPES • Contextual: Show all posts in main WP_Query • Radius: Show posts within $x km of a location • Place: Search for country, city, town, postal code • Custom: Pass in object_ids,WP_Query or taxonomy • Users: Show your authors/community on a map • OMG: More options than you want or need
  • 18. SHORTCODES & PHP • Almost all features available as [shortcodes]
 AND as static PHP methods (functions). • Shortcodes allow easy display inside post content. • PHP gives precise control anywhere in your theme. [geo_mashup_map] -> GeoMashup::map() [geo_mashup_full_post] -> GeoMashup::full_post() [geo_mashup_location_info] -> GeoMashup::location_info()
  • 19. SHORTCODES & PHP [geo_mashup_map height="200" width="400" zoom="2" add_overview_control="false" add_map_type_control="false"] <?php echo GeoMashup::map( ‘height=200&width=400&zoom=2&add_overview_control=false&add_map_type_control=false' );?> echo GeoMashup::map( array( 'height' => 200, 'width' => 400, 'zoom' => 2, 'add_overview_control' => 'false', 'add_map_type_control' => 'false', ); Complex map: shortcode Complex map: PHP+wp_parse_args() Complex map: PHP+array
  • 23. FIXING RESPONSIVENESS • Horribly unresponsive by default (fixed width+height) • Use Width: 100% as baseline • Use Height in px and find a balance • Height is hardcoded for each map, can’t be responsive :(
  • 24. SPECIAL MOBILE CONFIG • Fixed height for desktop will never work for mobile • Use MobileESP* and custom plugin code to identify small devices (smartphones) • Filter height to fit in smartphone screen • Filter zoom to to match new smaller size • Consider hiding maps entirely for mobile devices :( * https://github.com/ahand/mobileesp
  • 25. RESPONSIVE FUTURE? • Google Maps can be responsive* but not with Geo Mashup • CSS hack to maintain aspect ratio (shape) across widths • Hopefully: Future versions offer aspect ratio argument * http://www.labnol.org/internet/embed-responsive-google-maps/28333/
  • 26. STYLING LOCATION POPUPS • Awful by default. • Copy template file into your theme and edit to match: geo-mashup-info-window.php • Style CSS with .locationinfo • Media queries target map iframe, not full window: @media only screen and (max-width:300px) { .locationinfo {width: 160px;} }
  • 27. GEOLOCATING ATTACHMENTS • Not supported by Geo Mashup, but possible • Combine with Media Library Assistant* plugin: • Enables postmeta & taxonomy for attachments • Imports metadata from images • Can import GPS coordinates to standard WP storage* https://wordpress.org/support/topic/geo-tag-custom-field https://wordpress.org/plugins/media-library-assistant/
  • 29. GEO MASHUP RESOURCES • Features overview • Tag reference (shortcodes and template tags) • PHP API (helper functions and classes) https://github.com/cyberhobo/wordpress-geo-mashup/wiki/PHP-API https://github.com/cyberhobo/wordpress-geo-mashup/wiki/Tag-Reference https://github.com/cyberhobo/wordpress-geo-mashup/wiki/Feature-Usage • GitHub repository (development and issue tracker) https://github.com/cyberhobo/wordpress-geo-mashup/
  • 30. PUT A MAP ON IT! Enhanced geolocation and mapping with Geo Mashup http://jeremyclarke.org • @jeremyclarke Download these slides: http://slideshare.net/jeremyclarke Creative Commons Share Alike http://creativecommons.org/licenses/by-sa/3.0/