@warren-bank/node-google-maps-places-import-tool
v3.0.0
Published
Command-line tool to import 'places' into Google Maps. Supports: geoJSON, KML, GPX.
Downloads
5
Readme
Google Maps places import tool
Command-line tool to import places into Google Maps. Supports: geoJSON, KML, GPX.
Background:
- Google Maps doesn't yet provide a way to import lists of places
- menu option: "Your places" > "Saved"
- Google Trips Saved Places are built on top of Google Maps lists of places
- when planning a trip, the ability to import lists of places would be extremely helpful
- an import tool is needed
Installation (global w/ npm):
npm install @warren-bank/node-google-maps-places-import-tool --global
Dependencies (global):
- puppeteer
- install globally with a full copy of Chromium web browser:
npm install puppeteer --global
- install globally with a full copy of Chromium web browser:
Binary (global):
gmaps-places <options>
Installation (local w/ wget via github):
mkdir 'workspace'
cd 'workspace'
wget --content-disposition --no-check-certificate 'https://github.com/warren-bank/node-google-maps-places-import-tool/archive/master.zip'
unzip 'node-google-maps-places-import-tool-master.zip'
rm -f 'node-google-maps-places-import-tool-master.zip'
cd 'node-google-maps-places-import-tool-master'
Dependencies (local):
- puppeteer
- install locally with a full copy of Chromium web browser:
npm install puppeteer --save
- install locally with a full copy of Chromium web browser:
Binary (local):
npm run 'gmaps-places' <options>
Usage:
gmaps-places <options>
options:
========
"-h"
"--help"
Print all command-line options.
"-v"
"--version"
Print version number.
"-d"
"--debug"
Print the list of Google Maps URLs obtained from the "input" filepath.
Does not perform import.
"-D"
"--distinct"
Restrict each "distinct" place to a single list.
No action will occcur when the place has already been added to another list.
"-u <username>"
"--username <username>"
Specify the Google account "username".
"-p <password>"
"--password <password>"
Specify the Google account "password".
"-l <list>"
"--list <list>"
Specify the Google Maps "list" name.
Value is not case sensitive.
The default is: "Starred places"
"-i <filepath>"
"--input <filepath>"
Specify the "input" filepath.
File extension determines how the contents are parsed.
Supported extensions:
* "json": geoJSON
* "kml"
* "gpx"
* "txt": list of Google Maps URLs
- https://www.google.com/maps/place/...
- https://www.google.com/maps/dir/...
Caveats:
- "input" files in "txt" format are parsed with the attempt to be very forgiving of sloppy format
- the parser tries to extract as many lat/lon pairs as are contained in each URL
- helpful when URLs are obtained from non-technical users
- sometimes this is good and produces the desired result
- sometimes it results in extra "places"
- may require some cleanup after import
- still faster than entering the data manually
Example:
- this test script is a good demo
Credits:
- Benji Bilheimer came up with the idea to use puppeteer and a working implementation
Changes from original implementation:
- moves hard-coded variables to CLI options
- supports more input data formats
Legal:
- copyright:
- license: GPL-2.0