npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

beneroch-gmap

v1.0.0-alpha.9

Published

JavaScript library to handle the Google Maps API.

Downloads

67

Readme

Gmap

JavaScript library for working with the Google Maps API.

  • Description
  • Objects / Classes
    • BB.base
    • BB.data
    • BB.gmap.controller
    • BB.gmap.infobox
    • BB.gmap.obj
    • BB.gmap.line
    • BB.gmap.polygon
    • BB.gmap.marker
  • Examples beneroch.com/gmap
    • Map initialization
    • Add place
      • Marker
      • Line
      • Polygon
    • Add place by address
    • Change styles
    • Add callback functions for events
      • click
      • mouseover / mouseout

Description

This is a set of classes built to manager the google objects easily, with a controller. This allows to keep track of items on the map, make them editable or selectable and do pretty much whatever you want.

This plugin does not require jQuery

The only dependencies are:

  • MarkerClusterer (included in the build)
  • Google Maps api http://maps.googleapis.com/maps/api/js?v=3.exp&sensor=false&language=fr

Objects / Classes

  • BB.base
  • BB.data
  • BB.gmap.controller
  • BB.gmap.infobox
  • BB.gmap.obj
  • BB.gmap.line
  • BB.gmap.polygon
  • BB.gmap.marker

BB.base

Base Class for all Gmap objects. This allows all objects to have some basic methods:

| Method | Param | Description | --------------|-------------------|---------------- | set_data | {Object} data | Sets the data for hte object. Accepts JSON object | data | {String} key (falcultative) | Returns the data pointed by the key param. If no key param specified, returns all the data as set by the set_data methods | remove_data | {String} key (falcultative) | Removes the data pointed by the key param. If no key specified, resets the data to {} | sanitize | null | Escape all data in order to prevent bugs caused by unescaped caracters such as \. Call the native escape() javascript function recursively on all datas | unsanitize | null | Unescape all data. Exact opposite of sanitize() | ident | null | Returns the ident of the object. | set_ident | {String} Ident | Sets the ident of the object | error | {String} error_msg | If the BB_DEBUG is set to true, throw an error with the message. | is_empty_object | {Object} obj | Check if the object is empty, using the hasOwnProperty javascript method | extend | {Object} Defaults - {Object} options | Merge objects together, override data with the options param

BB.data

This class is used internally to store the object data. There is certainly no reason to use it anywhere else.

BB.gmap.controller

The controller is the main piece of the plugin. It allows the user to have control on every items on the map, keep track by adding listeners and accessing the different places easily

Method | Param | Description ----------------|-----------------------|----------------------------------- constructor | {DOMElement} container - {Object} data | Call the plugin by creating a new BB.gmap.controller( DOMObject, data).

Getters

Method | Param | Description ----------------|-----------------------|----------------------------------- map | null | Returns the associated map {google.maps.Map} container | null | Returns the associated container passed in the constructor {DOMElement} get_place | {string} Ident | Returns the matching object according to the ident specified, or undefined get_places | null | Returns a list of all objects on the map, separated by types. { markers:{}, lines:{}, polygons:{} } focused | null | Returns the currently focused item on the map. Clicking on an item sets the focus on that item. get_all_markers | null | Used for the markerclusterer. Returns all markers on the map clusterer | null | Returns the markerclusterer object associated with the controller, if one.

Setters

Method | Param | Description ----------------|-----------------------|----------------------------------- set_styles | {Object} Styles | Sets the styles for the map and automatically refreshes the map if it's instanciated set_place | {String} type, {String} ident, {Object} data | Set a place in the controller memory. This should not be used. @todo Make that one protected, private, or whatever set_focus | {BB.gmap.object} item | Sets the focus on the current object, blurs the previously focused item set_zoom | {int} zoom | Sets the zoom of the map. Same as calling self.map().setZoom( zoom )

Other methods

Method | Param | Description ------------------------|---------------------------------------------------|----------------------------------- add_place | {String} ident, {Object} data | Adds a place on the map, as long as the data are filled up. You need the exact coordinates to use this method add_place_by_address | {String} ident, {String} address, {Object} data | Adds a place by geolocating the specified address. If the address is invalid, chances are that the marker is gonna be added in the Indian Ocean (0, 0). This method is asynchronus, it looks for the geocode with the google api geocoder before adding the marker to the map. geocode_address | {String} address, {Function} callback | Geocodes an address and then uses the callback function to do what you wanted with the address translate_coords | {Array} coords [lat, lon] | Returns a google.maps.LatLng() object with the specified coords create_new | {String} ident | Sets the listeners to add points on the map byclicking. The type has to be defined _loop_all | {Function} callback | Loops through all objects instanciated in that controller. Calls the callback function on each of them with the place as argument fit_bounds | null | Fit bounds to all objects on the map. Call after "Ready" ready | {Function} | Callback function called after everything is loaded on the map

Options

Name | Type | Description --------------------|-----------------------|----------------------------------- map | {Array} | Map options passed to the map instance. @see https://developers.google.com/maps/documentation/javascript/tutorial#MapOptions places | {Array} | Places to be found on the map. 3 types availables: Marker, Line, Polygon. @see options for all BB.gmap.object, BB.gmap.marker, BB.gmap.line, BB.gmap.polygon use_clusterer | {Boolean} | Map uses or not the clusterer (unfinished) max_fitbounds_zoom | {Boolean} | Max zoom value when asking a "fit_bounds", not to be confused with map.maxZoom default_styles | {Array} | Default polygon and line styles. @see BB.gmap.line styles

BB.gmap.object

Method | Param | Description ----------------|-----------------------|-----------------------------------