the easiest way to use Google Maps

Related tags

Maps gmaps
Overview

Important

If you're developer, I'm moving gmaps.js to NPM, you can give your opinion and check the migration progress in Issue #404


gmaps.js - A Javascript library that simplifies your life

gmaps.js allows you to use the potential of Google Maps in a simple way. No more extensive documentation or large amount of code.

Visit the examples in hpneo.github.com/gmaps Go to the API Documentation hpneo.github.io/gmaps/documentation.html

Quick Start

  1. Add a reference to Google Maps API
  2. Add gmaps.js in your HTML
  3. Enjoy!
<!DOCTYPE html>
<html>
<head>
  <title></title>
  <script src="http://maps.google.com/maps/api/js"></script>
  <script src="gmaps.js"></script>
  <style type="text/css">
    #map {
      width: 400px;
      height: 400px;
    }
  </style>
</head>
<body>
  <div id="map"></div>
  <script>
    var map = new GMaps({
      el: '#map',
      lat: -12.043333,
      lng: -77.028333
    });
  </script>
</body>
</html>

Use with AMD

With require.js, you need to load Google Maps JavaScript API first. For example, assuming you have a googlemapsapi.js file:

define(['async!http://maps.google.com/maps/api/js?v=3&sensor=false'], function() {});

Next you have to define the dependency for gmaps.js:

require.config({
  paths: {
    "googlemapsapi": "googlemapsapi",
  },
  shim: {
    gmaps: {
      deps: ["googlemapsapi"],
      exports: "GMaps"
    }
  }
});

Also, you can use the googlemaps-amd plugin.

Build

If you would like to build gmaps from source run the following at the terminal:

git clone https://github.com/HPNeo/gmaps.git
cd gmaps
npm install
grunt

Changelog

0.4.25

  • Change findAbsolutePosition (see #494)

0.4.24

  • Fix bug in getRoutes (see #373)

0.4.23

  • Fix bug at trying to remove a large amount of markers inside a marker cluster (see #473)
  • Check for Google Maps library before creating a GMaps object (see #467)
  • Check the Google Maps API at instantiation instead of declaration (see #467)
  • Add polyfill for google.maps.Rectangle.prototype.containsLatLng

0.4.22

  • Render directions
  • Added missing function for registering addListenerOnce

0.4.21

  • Better check for console.error

0.4.20

  • Show an error in the console, instead throwing an error

0.4.19

  • Fix bug at hiding markers' context menu when the map is zooming

0.4.18

  • Fix bug in array_map

0.4.17

  • Remove the http so the library (Google Maps call) will also work under SSL without warnings
  • Update route drawing methods to allow 'icons' option for drawPolyline
  • Remove dependency on 'grunt-cli' having to be installed globally

0.4.16

  • Fix removeMarkers

0.4.15

  • Add overlay to mouseTarget when click event is set
  • addControl/createControl now accepts HTML elements or HTML strings
  • Add containsLatLng to google.maps.Circle

0.4.14

  • Fix bug in drawPolygon
  • Hide context menu before the zoom is changed

0.4.13

  • Allow unitSystem setting in travelRoute
  • Add functionality to remove controls
  • Delegates non custom events to google.map
  • Convert featureType and elementType toLowerCase in static maps

0.4.12

  • Adds ability to listen for clicks on overlays

0.4.11

  • Add RadarSearch to the places layer
  • Update default control styles to match new Google Maps release.

0.4.10

  • Fix and optimize removeMarkers
  • Fix bug in addMarker (issue #270)

0.4.9

  • Add UMD support (AMD, CommonJS, browser globals)
  • Add retina support
  • FitZoom only use visible markers

0.4.8

  • Fix getRoutes

0.4.7

  • Add callback for failure in getRoutes
  • Update marker clusterer after remove marker
  • Add support for string arrays to arrayToLatLng

0.4.6

  • Allow initialising GMaps without new
  • Added styled map support for static maps
  • Fixed name display for styled maps
  • Allow no zoom for static map request

0.4.5

  • Fix IE8 bug using array_map
  • Add Grunt and Bower support

0.4.4

  • Fix buildContextMenu reference in addMarker

0.4.3

  • Fix removePolylines and removePolygons

0.4.2

  • Fix drawSteppedRoute

0.4.1

  • Fix fitZoom

0.4.0

  • Split gmaps.js in modules

0.3.5

  • Enable new Google Maps style

0.3.4

  • Add support for context menu in multiple maps

0.3.3

  • Fix destination as address in getRoutes

0.3.2

  • Support for removing Fusion Tables and GeoRSS/KML layers with removeLayer

0.3.1

  • Improve event binding at adding markers, polylines or polygons

0.3

  • Add native events to google.maps objects and custom events to GMaps maps
  • Check for Google Maps library and defined element when initialize
  • Allow route origins to be a string or array

0.2.31

  • Fix context menu position bug

0.2.30

  • New feature: StreetView Panoramas

0.2.29

  • New methods: removePolyline and removePolygon
  • Tests for Styled MapTypes

0.2.28

  • Test suite
  • Fix double event firing bug

0.2.27

  • Allow create context menus for markers

0.2.26

  • Fix bug in getElevations
  • Rename fitBounds to fitLatLngBounds

0.2.25

  • Support for GeoJSON in drawPolygon
  • Use 'complete' instead of 'always' in GMaps.geolocate

0.2.24

  • New feature: Overlay Map Types

0.2.23

  • Add full support to google.maps.PolylineOptions
  • New method: removeMarker

0.2.22

  • New feature: Map Types

0.2.21

  • Support to add google.maps.Marker objects in addMarker and addMarkers methods.

0.2.20

  • Add support for other HTML block elements instead "div" (like "section").

0.2.19

  • Use MarkerClusterer to group markers

0.2.18

  • Check if GMaps is defined before load extensions

0.2.17

  • Fix bug with disableDefaultUI option in constructor

0.2.16

  • Fix another bug in createMarker

0.2.15

  • Fix bug in createMarker

0.2.14

  • Adding IDs, classes and innerHTML to createControl. (Note: Use 'content' instead 'text' in createControl)

0.2.13

  • Add support for Places library in addLayer

0.2.12

  • Fix map events without MouseEvent object
  • Fix bug in drawCircle and drawRectangle
  • Fix bug in zoomIn and zoomOut
  • New methods: removePolygon and removePolygons

0.2.11

  • Add support to Panoramio in addLayer

0.2.10

  • New method: toImage

0.2.9

  • Extend the drawSteppedRoute and travelRoute functions

0.2.8

  • New feature: Layers

0.2.7

  • New method: removeRoutes
  • Access all native methods of google.maps.Map class

0.2.6

  • Support for multiple overlays

0.2.5

  • Add support to all marker events
  • Add support for animations at show and remove overlays

0.2.4.1

  • Create GMaps class only when Google Maps API is loaded

0.2.4

  • New feature: Elevation service

0.2.3

  • New method: getZoom

0.2.2

  • Minor improvements to support Backbone.js
  • Fix controls position

0.2.1

  • More default values in GMaps constructor.

0.2

  • Remove jQuery dependency.

0.1.12.5

  • New method "removePolylines" and alias "cleanRoute"

0.1.12.4

  • New methods: fitZoom and fitBounds

0.1.12.3

  • New method: refresh

0.1.12.2

  • New options in GMaps constructor: width and height

0.1.12.1

  • New methods: loadFromFusionTables and loadFromKML

0.1.12

  • New feature: KML and GeoRSS
  • Fix bug in getFromFusionTables

0.1.11

  • New feature: Fusion Tables

0.1.10

  • New feature: Custom controls

0.1.9

  • New feature: Static maps

0.1.8.10

  • Better GMaps.Route methods

0.1.8.9

  • Fix typo in Polyline events
  • Add InfoWindow events

0.1.8.8

  • Add Polyline events

0.1.8.7

  • Add drag and dragstart events to Marker

0.1.8.6

  • Add avoidHighways, avoidTolls, optimizeWaypoints, unitSystem and waypoints options in getRoutes
  • New method: createMarker

0.1.8.5

  • geolocation and geocode methods are static now (using them with GMaps.geolocation and GMaps.geocode)

0.1.8.4

  • Fix typo in geocode method
  • Allow all MapOptions in constructor (see 'MapOptions' section in Google Maps API Reference)

0.1.8.3

  • Add pane option ('floatPane', 'floatShadow', 'mapPane', 'overlayImage', 'overlayLayer', 'overlayMouseTarget', 'overlayShadow') in drawOverlay
  • New methods: removeOverlay and removeOverlays

0.1.8.2

  • Change pane ('floatPane' to 'overlayLayer') in drawOverlay

0.1.8.1

  • Fix bug in drawCircle

0.1.8

  • New feature: Overlays
  • New method: drawCircle

0.1.7.1

  • Bug fix: zoomIn/zoomOut can change zoom by argument
  • New method: setZoom

0.1.7

  • New class: GMaps.Route

0.1.6

  • New feature: Geofence (with markers)
  • New method: drawPolygon
  • Bug fix: Change reserved word in Context menu

0.1.5

  • New feature: Geocoding
  • New method: drawSteppedRoute (similar to travelRoute)

0.1.4

  • New events in addMarker
  • Add step_number property in travelRoute method

0.1.3

  • New feature: Context menu (for map and marker only)
  • New method: travelRoute
  • Change setCenter to panTo in GMaps setCenter method
  • Save entire route data in routes array (instead saving only route path)
  • Context menu and Route example (using travelRoute)

0.1.2

  • drawPolyline can accept both an array of LatLng objets or an array of coordinates
  • New methods: getRoutes and drawRoute
  • Route example

0.1.1

  • Rename drawRoute method to drawPolyline (more accurate)
  • Marker example

0.1 - Initial release

  • Map events
  • Geolocation
  • Add Markers
  • Marker infoWindows
  • Draw routes and circles
  • Initial examples

License

MIT License. Copyright 2014 Gustavo Leon. http://github.com/hpneo

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

Comments
  • It is necessary to use a google Maps API KEY?

    It is necessary to use a google Maps API KEY?

    I was testing an application, and by chance I saw the browser console and It had a warning:

    "Google Maps API warning: No ApiKeys"
    

    I've followed the link and it just says:

    The script element that loads the API has no API key. Please make sure you include a valid API key as a key parameter. You can generate a new API key on the Google Developers Console. 
    

    I've been using simply:

     <script src="http://maps.google.com/maps/api/js"></script> 
    

    If I upload my code to a server, I'll have some problem if I don't have that key?

    opened by yammadev 18
  • error style with bootstrap's modal

    error style with bootstrap's modal

    first time i open a bootstrap's modal with a map,it seems ok. When i close the modal and open it again,the map in the modal can only show a little,with blocks of shadow.

    opened by zhanghuanhuanlive 15
  • How to use MarkerFilter?

    How to use MarkerFilter?

    Could anyone explain how to use the extension MarkerFilter? My next example

    var map;
    $(document).ready(function () {
    prettyPrint();
        map = new GMaps({
            div: '#fullmap',
            lat: -28.4667867,
            lng: -65.7760949,
        });
        map.addMarkers([
            {lat:-28.36, lng:-65.17, detail:1},
            {lat:-28.44, lng:-64.37, detail:2},
            {lat:-28.41, lng:-66.47, detail:1},
            {lat:-27.26, lng:-65.62, detail:3},
            {lat:-29.32, lng:-64.43, detail:3},
        ]);
    }
    

    as I can put a button to hide and turn the markers with detail #

    opened by Frlawer 14
  • How to call the marker.click function from outside the map?

    How to call the marker.click function from outside the map?

    Hi,

    This is not an issue, just a query.

    I am building a map with several markers (and infoWindows). Now when a marker is clicked, the corresponding infoWindow is displayed (with proper screen positioning). I want to do the same when a place is selected from a drop down list. How can I hook into the google.maps.Marker's click event?

    I can call, "map.hideInfoWindows()" followed by "marker[i].infoWindow.open". This does show the info window. But the displayed widow is not centered. And also it does not have any of the events associated with it. I cannot close this window using the "close" button.

    Could you please help me with this?

    Siddharth

    opened by neotamizhan 14
  • More examples please?

    More examples please?

    Hello,

    Comparing all the jquery gmaps libraries, this one seems to be the heaviest in terms of KB. But the examples of the others are much more complete: For example how do I add a marker with a click event? How do I automatically get this current markers' latitude and longitude ? There are many cases not covered in the examples section... And most of the times there's a url towards Google Developers docs...

    opened by gkatsanos 12
  • Gmaps only works on browser resize

    Gmaps only works on browser resize

    My gmaps only shows a grey box, unless I resize my window.

    I found that if I do Inspect Element, the map shows fine (minus going to the center).

    How can I fix this, and how can I have it centered on resize?

    Here's a link to my gmaps. Look in the Location Tab.

    http://www.myrtlebeachcondos.net/booking/property.php?PropertyId=673&CheckIn=10/8/2015&CheckOut=10/13/2015&ResortName=Crescent%20Keyes&Bedrooms=2

    opened by socoastal 11
  • Error Too much recursions

    Error Too much recursions

    Hello. I setup a page to show the error: http://cloud.bzimg.com/gmaps

    The Problem: When I try to resize the window and set the Center again for the map it's going into recurstion and eventually breaks the map. Chrome just shows error in the console while Firefox shows the exact error: Too much recursions. The line on which the error occurs is different everytime, but so far it repeatly says lines: 13, 14, 17

    Every suggestion or advise is welcome. Thank you

    opened by batzidi 9
  • How to add a marker using ajax?

    How to add a marker using ajax?

    Hi everyone,

    I'm trying to add markers using ajax and the marker isn't rendering. My code:

    map = new GMaps({
      div: '#map',
      zoom: 12,
      lat: <%= @city.lat %>,
      lng: <%= @city.lng %>
    });
    
    $( document ).ready(function(e) {
       $.ajax({ url: "/url",
               type: "get",
               dataType: "json" })
            .success(
              function(data) {
                $.each(data, function(key, value){
                  map.addMarker({
                    lat: value.lat,
                    lng: value.lng,
                    title: value.name,
                    infoWindow: {
                      content: '<p>'+value.address+'</p>'
                    }
                  });
                });
              } );
    });
    

    When I use Chrome console to add a new marker manually I'm not getting it work too. For example:

    map.addMarker({lat:'-38.56789', lng:'-12.345674', title:'Title'});
    

    And this return me:

    ki {gm_accessors_: Object, position: N, gm_bindings_: Object, map: gi, M: gi…}
    

    However, it didn't render a new mark on my map. Is there a bug or I'm missing something?

    Thanks in advance!

    opened by fabianoalmeida 9
  • Map not loading

    Map not loading

    Hi,

    I am using gmapjs to display a simple map. my code is basic and it works on my localhost. Even if I open my .html file, the map works. Only when I upload it to my webhost it stops working. (I even tried another provider)

    I get this console error: Uncaught TypeError: Cannot read property 'prototype' of undefined in common.js:48

    I've been searching through other issues but I can't seem to get this to work. What am I doing wrong?

    For reference, my code: var map = new GMaps({ el: '#map-canvas', lat: 51.000000, lng: 4.702637, zoom: customZoomLevel, zoomControl : true, zoomControlOpt: { style : 'SMALL', position: 'TOP_LEFT' }, scrollwheel: false, panControl : false, mapTypeControl: false, streetViewControl: true, overviewMapControl: false, scaleControl:true, fullscreenControl: true, });

    opened by SndrL 8
  • Gmaps and the use of tabbed content

    Gmaps and the use of tabbed content

    Is it possible to refresh gmaps when used in a tabbed content? In other words when clicked on a certain tab where gmaps is to be shown is possible to refresh when clicked.

    Now gmaps is not shown properly

    kind regards, Appeltje

    opened by appeltje 8
  • Problem with div parent when have style=

    Problem with div parent when have style="display:none"

    Try use with Twitter Bootstrap, when have two tabs and the first tab have attribute style="display:block and the second have style="display:none" (where is my map), the map not display.

    Get this styles:

    width: 0px; height: 0px; position: relative; background-color: rgb(229, 227, 223); overflow: hidden;

    Have any idea how fix it?

    Can you understand me?

    opened by brunowego 8
  • Full screen button

    Full screen button

    I don't know if it's related to gmaps or googlemaps api, but the fullscreen button on the maps does not work in 50% of time the maps is displayed. I have to put the focus on other objects on the page the refocus the map to make it working. Sometimes also this trick does not work and I have to reload the page to put the maps on fullscreen. Is there any way to check or debubg the click on the fullscreen button? Moreover there is a way to control if show the other button on the map (like the '+' and '-' to zoom and the 'Maps' and 'Satellite' options)?

    opened by edika99 0
  • Dependency error in Heroku

    Dependency error in Heroku

    Hey, is anyone getting the following error? I'm using GMaps in a Ruby On Rails project and deploying it to Heroku. GMaps works locally but fails to deploy - is there a way I can fix this? It looks like googlemaps is not defined in the module?

           Compiling...
    
           Compilation failed:
    
           ModuleNotFoundError: Module not found: Error: Can't resolve 'googlemaps' in '/tmp/build_dd049e3191962ef42551e9d499b1f96e/node_modules/gmaps'
    
               at /tmp/build_dd049e3191962ef42551e9d499b1f96e/node_modules/webpack/lib/Compilation.js:925:10
    
               at /tmp/build_dd049e3191962ef42551e9d499b1f96e/node_modules/webpack/lib/NormalModuleFactory.js:401:22
    
               at /tmp/build_dd049e3191962ef42551e9d499b1f96e/node_modules/webpack/lib/NormalModuleFactory.js:130:21
    
               at /tmp/build_dd049e3191962ef42551e9d499b1f96e/node_modules/webpack/lib/NormalModuleFactory.js:224:22
    
               at /tmp/build_dd049e3191962ef42551e9d499b1f96e/node_modules/neo-async/async.js:2830:7
    
               at /tmp/build_dd049e3191962ef42551e9d499b1f96e/node_modules/neo-async/async.js:6877:13
    
               at /tmp/build_dd049e3191962ef42551e9d499b1f96e/node_modules/neo-async/async.js:2830:7
    
               at done (/tmp/build_dd049e3191962ef42551e9d499b1f96e/node_modules/neo-async/async.js:2925:13)
    
               at /tmp/build_dd049e3191962ef42551e9d499b1f96e/node_modules/webpack/lib/NormalModuleFactory.js:445:10
    
               at /tmp/build_dd049e3191962ef42551e9d499b1f96e/node_modules/webpack/node_modules/enhanced-resolve/lib/Resolver.js:213:14
    
               at /tmp/build_dd049e3191962ef42551e9d499b1f96e/node_modules/webpack/node_modules/enhanced-resolve/lib/Resolver.js:285:5
    
               at eval (eval at create (/tmp/build_dd049e3191962ef42551e9d499b1f96e/node_modules/tapable/lib/HookCodeFactory.js:33:10), <anonymous>:13:1)
    
               at /tmp/build_dd049e3191962ef42551e9d499b1f96e/node_modules/webpack/node_modules/enhanced-resolve/lib/UnsafeCachePlugin.js:44:7
    
               at /tmp/build_dd049e3191962ef42551e9d499b1f96e/node_modules/webpack/node_modules/enhanced-resolve/lib/Resolver.js:285:5
    
               at eval (eval at create (/tmp/build_dd049e3191962ef42551e9d499b1f96e/node_modules/tapable/lib/HookCodeFactory.js:33:10), <anonymous>:13:1)
    
               at /tmp/build_dd049e3191962ef42551e9d499b1f96e/node_modules/webpack/node_modules/enhanced-resolve/lib/Resolver.js:285:5
    
               at eval (eval at create (/tmp/build_dd049e3191962ef42551e9d499b1f96e/node_modules/tapable/lib/HookCodeFactory.js:33:10), <anonymous>:25:1)
    
               at /tmp/build_dd049e3191962ef42551e9d499b1f96e/node_modules/webpack/node_modules/enhanced-resolve/lib/DescriptionFilePlugin.js:67:43
    
               at /tmp/build_dd049e3191962ef42551e9d499b1f96e/node_modules/webpack/node_modules/enhanced-resolve/lib/Resolver.js:285:5
    
               at eval (eval at create (/tmp/build_dd049e3191962ef42551e9d499b1f96e/node_modules/tapable/lib/HookCodeFactory.js:33:10), <anonymous>:25:1)
    
               at /tmp/build_dd049e3191962ef42551e9d499b1f96e/node_modules/webpack/node_modules/enhanced-resolve/lib/ModuleKindPlugin.js:30:40
    
               at /tmp/build_dd049e3191962ef42551e9d499b1f96e/node_modules/webpack/node_modules/enhanced-resolve/lib/Resolver.js:285:5
    
               at eval (eval at create (/tmp/build_dd049e3191962ef42551e9d499b1f96e/node_modules/tapable/lib/HookCodeFactory.js:33:10), <anonymous>:13:1)
    
               at /tmp/build_dd049e3191962ef42551e9d499b1f96e/node_modules/webpack/node_modules/enhanced-resolve/lib/Resolver.js:285:5
    
               at eval (eval at create (/tmp/build_dd049e3191962ef42551e9d499b1f96e/node_modules/tapable/lib/HookCodeFactory.js:33:10), <anonymous>:13:1)
    
               at /tmp/build_dd049e3191962ef42551e9d499b1f96e/node_modules/webpack/node_modules/enhanced-resolve/lib/forEachBail.js:30:14
    
               at /tmp/build_dd049e3191962ef42551e9d499b1f96e/node_modules/webpack/node_modules/enhanced-resolve/lib/Resolver.js:285:5
    
               at eval (eval at create (/tmp/build_dd049e3191962ef42551e9d499b1f96e/node_modules/tapable/lib/HookCodeFactory.js:33:10), <anonymous>:13:1)
    
               at /tmp/build_dd049e3191962ef42551e9d499b1f96e/node_modules/webpack/node_modules/enhanced-resolve/lib/UnsafeCachePlugin.js:44:7
    
               at /tmp/build_dd049e3191962ef42551e9d499b1f96e/node_modules/webpack/node_modules/enhanced-resolve/lib/Resolver.js:285:5
    
               at eval (eval at create (/tmp/build_dd049e3191962ef42551e9d499b1f96e/node_modules/tapable/lib/HookCodeFactory.js:33:10), <anonymous>:13:1)
    
               at /tmp/build_dd049e3191962ef42551e9d499b1f96e/node_modules/webpack/node_modules/enhanced-resolve/lib/Resolver.js:285:5
    
               at eval (eval at create (/tmp/build_dd049e3191962ef42551e9d499b1f96e/node_modules/tapable/lib/HookCodeFactory.js:33:10), <anonymous>:25:1)
    
               at /tmp/build_dd049e3191962ef42551e9d499b1f96e/node_modules/webpack/node_modules/enhanced-resolve/lib/DescriptionFilePlugin.js:67:43
    
               at /tmp/build_dd049e3191962ef42551e9d499b1f96e/node_modules/webpack/node_modules/enhanced-resolve/lib/Resolver.js:285:5
    
               at eval (eval at create (/tmp/build_dd049e3191962ef42551e9d499b1f96e/node_modules/tapable/lib/HookCodeFactory.js:33:10), <anonymous>:14:1)
    
           resolve 'googlemaps' in '/tmp/build_dd049e3191962ef42551e9d499b1f96e/node_modules/gmaps'
    
             Parsed request is a module
    
             using description file: /tmp/build_dd049e3191962ef42551e9d499b1f96e/node_modules/gmaps/package.json (relative path: .)
    
               resolve as module
    
                 /tmp/build_dd049e3191962ef42551e9d499b1f96e/node_modules/gmaps/node_modules doesn't exist or is not a directory
    
                 /tmp/build_dd049e3191962ef42551e9d499b1f96e/node_modules/node_modules doesn't exist or is not a directory
    
                 /tmp/node_modules doesn't exist or is not a directory
    
                 /node_modules doesn't exist or is not a directory
    
                 looking for modules in /tmp/build_dd049e3191962ef42551e9d499b1f96e/node_modules
    
                   using description file: /tmp/build_dd049e3191962ef42551e9d499b1f96e/package.json (relative path: ./node_modules)
    
                     using description file: /tmp/build_dd049e3191962ef42551e9d499b1f96e/package.json (relative path: ./node_modules/googlemaps)
    
                       no extension
    
                         /tmp/build_dd049e3191962ef42551e9d499b1f96e/node_modules/googlemaps doesn't exist
    
                       .js
    
                         /tmp/build_dd049e3191962ef42551e9d499b1f96e/node_modules/googlemaps.js doesn't exist
    
                       .json
    
                         /tmp/build_dd049e3191962ef42551e9d499b1f96e/node_modules/googlemaps.json doesn't exist
    
                       as directory
    
                         /tmp/build_dd049e3191962ef42551e9d499b1f96e/node_modules/googlemaps doesn't exist
    
           
    
     !
    
     !     Precompiling assets failed.
    
     !
    
     !     Push rejected, failed to compile Ruby app.
    
     !     Push failed
    
    opened by christopheragnus 1
  • Google Maps API does not work on IE. Window.onload event does not trigger as there is some error with Google API when used on IE browser  but works well with other browser.

    Google Maps API does not work on IE. Window.onload event does not trigger as there is some error with Google API when used on IE browser but works well with other browser.

    //This is a Hybrid Map. Map works fine on all browsers except Internet explorer (Loads a blank page) //Window.onload does not seem to get triggered on IE.

    Geocoding service

    opened by VINOD1ST 0
  • Use New Google Map API Access

    Use New Google Map API Access

    • OLD way (won't work after Jul 16th 2018.): <script type="text/javascript" src="//maps.google.com/maps/api/js?sensor=true"></script>

    • NEW: <script type="text/javascript" src="//maps.google.com/maps/api/js?key=(PASTE-YOUR-GOOGLE-MAP-APY-KEY-HERE)"></script>

    • Get your new Google Map API key at: https://console.cloud.google.com/apis/library/maps-backend.googleapis.com

    You can check whether your gmaps.js uses New API Access with this Google official Chrome extension. "Google Maps Platform API Checker" https://chrome.google.com/webstore/detail/google-maps-platform-api/mlikepnkghhlnkgeejmlkfeheihlehne?hl=ja

    tips 
    opened by ozero 6
  • Use two fingers to move the map

    Use two fingers to move the map

    I am getting this message " Use two fingers to move the map" on mobile devices on the integration of gmaps.js. Bit explored, and found that

    gestureHandling: 'greedy'

    is not implemented. Can you please give me any direction how to achieve map movement on mobile devices with a single finger

    Regards

    opened by nauman-ullah 4
Owner
Gustavo Leon
Man out of time. Creator of gmaps.js, cevichejs.com and domscope.com. @CodePicnic co-founder.
Gustavo Leon
Downloads satellite images from Google Maps, only slightly illegal.

Google Maps Satellite Downloader This is a script to download satellite images from Google Maps. The below mentioned optimization system requires that

null 5 Oct 31, 2022
A simple web extension that redirects Twitter, YouTube, Instagram & Google Maps requests to privacy friendly alternatives.

Get Donate FIRO aEyKPU7mwWBYRFGoLiUGeQQybyzD8jzsS8 BTC: 3JZWooswwmmqQKw5iW6AYFfK5gcWTrvueE ETH: 0x90049dc59365dF683451319Aa4632aC61193dFA7 About A web

Simon Brazell 1.6k Dec 29, 2022
An online tool to generate and visualize maps for irregular and/or gapped LED layouts, for use with FastLED, Pixelblaze and other libraries.

An online tool to generate and visualize maps for irregular and/or gapped LED layouts, for use with FastLED, Pixelblaze and other libraries.

Jason Coon 172 Dec 8, 2022
:leaves: JavaScript library for mobile-friendly interactive maps

Leaflet is the leading open-source JavaScript library for mobile-friendly interactive maps. Weighing just about 39 KB of gzipped JS plus 4 KB of gzipp

Leaflet 36.5k Jan 1, 2023
An open-source JavaScript library for world-class 3D globes and maps :earth_americas:

CesiumJS is a JavaScript library for creating 3D globes and 2D maps in a web browser without a plugin. It uses WebGL for hardware-accelerated graphics

Cesium 9.7k Dec 26, 2022
Polymaps is a free JavaScript library for making dynamic, interactive maps in modern web browsers.

Polymaps Polymaps is a free JavaScript library for making dynamic, interactive maps in modern web browsers. See http://polymaps.org for more details.

Urban Airship 1.6k Dec 23, 2022
UNMAINTAINED Open source JavaScript renderer for Kartograph SVG maps

This project is not maintained anymore. Here are a few reasons why I stopped working on kartograph.js: there's no need to support non-SVG browsers any

null 1.5k Dec 11, 2022
An open-source JavaScript library for world-class 3D globes and maps :earth_americas:

CesiumJS is a JavaScript library for creating 3D globes and 2D maps in a web browser without a plugin. It uses WebGL for hardware-accelerated graphics

Cesium 9.7k Jan 3, 2023
This is a collection of over two hundred code samples an growing for the Bing Maps V8 web control.

Bing Maps V8 Code Samples This is a collection of over a hundred code samples for the Bing Maps V8 web control. These samples have been collected from

Microsoft 130 Dec 8, 2022
This project contains the TypeScript definitions for the Bing Maps V8 Web Control.

Bing Maps V8 TypeScript Definitions These are the official TypeScript definitions for the Bing Maps V8 Web Control. These can be used to provide intel

Microsoft 35 Nov 23, 2022
React components for Leaflet maps

React Leaflet React components for Leaflet maps. Documentation Getting started API reference Changes See the CHANGELOG file. Contributing See the CONT

Paul Le Cam 4.4k Jan 3, 2023
Vue 2 components for Leaflet maps

Vue2Leaflet Vue2Leaflet is a JavaScript library for the Vue framework that wraps Leaflet making it easy to create reactive maps. How to install npm in

Vue Leaflet 1.9k Dec 29, 2022
Converts geojson to svg string given svg viewport size and maps extent.

geojson2svg Converts geojson to svg string given svg viewport size and maps extent. Check world map, SVG scaled map and color coded map examples to de

Gagan Bansal 163 Dec 17, 2022
AngularJS directive to embed an interact with maps managed by Leaflet library

Angular Leaflet Why the fork? While we are grateful for all the original work at tombatossals/angular-leaflet-directive. We need to be able to operate

AngularUI 313 Nov 10, 2022
🖼️ Create beautiful maps from OpenStreetMap data in a webapp

prettymapp ??️ Prettymapp is a webapp to create beautiful maps from OpenStreetMap data (based on prettymaps) ?? Try it out here: prettymapp on streaml

Christoph Rieke 233 Jan 3, 2023
Dashboards-maps is a frontend plugin that helps you in uploading custom GeoJSON to OpenSearch and communicates with the geospatial backend plugin for the same.

Welcome! Project Resources Code of Conduct License Copyright Dashboards-Maps Dashboards-maps is a frontend plugin that helps you in uploading custom G

null 9 Dec 28, 2022
Interactive, thoroughly customizable maps in the browser, powered by vector tiles and WebGL

Mapbox GL JS is a JavaScript library for interactive, customizable vector maps on the web. It takes map styles that conform to the Mapbox Style Specif

Mapbox 9.4k Jan 7, 2023
A Google Earth Engine tool for identifying satellite radar interference

Many military radars interfere with open source satellite imagery when they're turned on. A new tool lets anyone monitor when and where these radars a

Bellingcat 411 Dec 27, 2022
This map is tracking the position of ISS(international space setallite) at every 1 second. I use Nasa's "where the iss" API and "Leaflet.js" for the map.

ISS-tracking-map About This map is tracking the position of ISS(international space setallite) at every 1 second. I use Nasa's "where the iss" API and

Waz.sheeran 2 Oct 25, 2021