Git Product home page Git Product logo

vector-tiles-google-maps's Introduction

Table of Contents

  1. About The Project
  2. Examples
  3. Installation
  4. Usage
  5. Documentation
  6. Roadmap
  7. Contributing
  8. License
  9. Contact
  10. Acknowledgements

About The Project

Product Name Screen Shot

Vector Tiles Google Maps is a JavaScript library to render vector tiles in Google Maps.

The library provides funcionality to enable cache, filter features, apply styles, onclick event, mouse hover, and show/hide layers.

Further work would be to load Mapxbox GL Styles in Google Maps.

Built With

Examples

Installation

  1. Clone the repo
    git clone https://github.com/techjb/Vector-Tiles-Google-Maps.git
  2. Install NPM packages
    npm install
  3. Get your own API Key for the Maps JavaScript API and replace it in all the provided examples
    <script src="https://maps.googleapis.com/maps/api/js?key=YOUR_API_KEY" defer></script>

Usage

Create the MVTSource object and then insert it as a overlayMapType. Provide the vector tiles server url in the options object.

var options = {
    url: "http://your_vector_tiles_url/{z}/{x}/{y}.pbf"
};

var mvtSource = new MVTSource(map, options);
map.overlayMapTypes.insertAt(0, mvtSource);

Recommendations

  • Insert the MVTSource after tiles have been loaded for the first time to avoid duplicate invocation to GetTile(). It is documented in this issue tracker.
 google.maps.event.addListenerOnce(map, 'tilesloaded', function () {
    map.overlayMapTypes.insertAt(0, mvtSource);
});
  • If you need to set style based on feature property or trigger onClick or onMouseHover event, set the property getIDForLayerFeature option with the function that returns the unique id for each feature.
var options = {    
    getIDForLayerFeature: function(feature) {
        return feature.properties.id;
    }
};
  • Enable cache for better performance and smooth flow.
var options = {    
    cache: true
};
  • Set the sourceMaxZoom option to enable overzoom.
var options = {    
    sourceMaxZoom: 14
};

Documentation

See documentation for the contructor options and public methods.

Roadmap

See the open issues for a list of proposed features (and known issues).

Contributing

Contributions are what make the open source community such an amazing place to be learn, inspire, and create. Any contributions you make are greatly appreciated.

  1. Fork the Project
  2. Create your Feature Branch (git checkout -b feature/AmazingFeature)
  3. Commit your Changes (git commit -m 'Add some AmazingFeature')
  4. Push to the Branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

License

See license for more information.

Contact

Jesús Barrio - @techjb

Project Link: https://github.com/techjb/Vector-Tiles-Google-Maps

Acknowledgements

vector-tiles-google-maps's People

Contributors

iamtekson avatar techjb avatar

Stargazers

 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.