Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Extract lat long data and get map location URLs from EXIF data in images.
JavaScript
branch: master

0.0.2

latest commit 8ede014c95
@mattcg authored
Failed to load latest commit information.
example Fancy examples
lib Add overview block to file header
.gitignore First commit
Makefile First commit
README.md Link to Twitter
component.json 0.0.2
package.json 0.0.2

README.md

ExifLocation

Client and server-side GPS coordinate extraction using JavaScript.

Install

You'll need Component and GNU make. Then run:

git clone https://github.com/mattcg/exiflocation.git
cd exiflocation/
make

Alternatively, use Component to install to your project.

component install exiflocation

ExifLocation is also available using Bower.

bower install exiflocation

API

See example/ for a complete example.

ExifLocation.checkSupport()

ExifLocation uses FileReader and DataView (available since Chrome 9, Firefox 15, IE 10, Safari 5.1). Use this method to check support in the current runtime.

Broader support is possible using jDataView.

ExifLocation.loadFromFileList(fileList, progressCb, cb)

Pass a FileList as the first argument. The progressCb argument is a function that's executed once for each file in the list, receiving an error (if any) as the first argument and the ExifLocation instance as the second. The cb argument is executed once all the files have been loaded and receives an array of ExifLocation instances in the same order as the corresponding files in fileList.

var file = document.getElementById('file');

file.multiple = true;
file.addEventListener('change', function(event) {
    ExifLocation.loadFromFileList(event.target.files, function(err, exifLocation) {
        if (!err) {
            console.log(exifLocation.getGoogleMapsUrl(location.protocol));
        }
    });
}, false);

loadFromFile(file, cb)

Receives a File as the first argument. The callback function receives an error object or null as the first argument and the ExifLocation instance as the second.

loadFromArrayBuffer(arrayBuffer, cb)

As above, but with an ArrayBuffer.

getLatitude()

Returns the decimal latitude.

getLongitude()

Returns the decimal longitude.

getGoogleMapsUrl(protocol, zoom, type)

Get a Google Maps URL for the embedded location. The protocol is relative by default. The type parameter is either 'm' for the normal map (default), 'k' for satellite, 'h' for hybrid, 'p' for terrain or 'e' for Google Earth.

Might be handy

License

ExifLocation is copyright © 2013 Matthew Caruana Galizia, licensed under an MIT license.

Something went wrong with that request. Please try again.