Giter Site home page Giter Site logo

hypemaps's Introduction

hypeMaps

Google Maps integration for Elgg

Support the development

  1. Buy me a vegetable!
  2. You can also support the development of this plugin by sharing a percentage of your real-estate allocated to AdSense Units. You can specify the percentage you would like to share with me (0 to 100) in the plugin settings. On every page load, the plugin will switch between your publisher ID and my publisher ID. E.g. if you choose to share 10%, your publisher ID will be used on 90% of all page views, my publisher ID will be used on 10% of page views

Getting Started

  • You will require a valid Google API key. You can obtain one at https://console.developers.google.com. Configure your project to include the following APIs:

  • Static Maps API

  • Google Maps Javascript API

  • Google Maps Geolocation API

  • Geocoding API

  • Geocoding features are not included with this plugin. You will need to install another plugin fit for that purpose. You can use my hypeGeo plugin found here: https://github.com/hypeJunction/hypeGeo

  • Places features have been decoupled into a separate plugin, so grab a copy of that if you are upgrading from previous versions: https://github.com/hypeJunction/hypePlaces

  • Make sure you restrict the use of your API Key to domains you administer, otherwise someone else can copy them from public facing JS/static map URLs and reuse them

Developer Notes

  • Similar to how the gallery view is toggled, map view can be toggled by adding ?list_type=mapbox to any page that has a list generated using core API

  • To build and show a new dynamic map, use something along these lines:

// Display friends on the map
$params = array(
	'options' => array(
		'id' => 'friends', // List id / must be unique on the page
		'types' => 'user',
		'relationship' => 'friend',
		'relationship_guid' => elgg_get_logged_in_user_guid()
	),
	'getter' => 'elgg_get_entities_from_relationship',
);
echo \hypeJunction\Maps\ElggMap::showMap($params);

This example will render a map of user's friends. The generated map will be filterable, as appose to the one you would have generated using elgg_list_entities_from_relationship() passing 'list_type' => 'mapbox'

Note that maps generated in this fashion will only include entities taht have a geocoded location. If you need a list of all entities with an additional map overview, use elgg_list_entities_* and pass a mapbox list type.

  • To modify a list of sitewide or group maps, use 'search:site','maps' and 'search:group','maps' hooks. See the code for some examples. You will need to add your custom views.

Screenshots

alt text

hypemaps's People

Contributors

hypejunction avatar aethiopicus avatar

Watchers

James Cloos avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.