Let's build a Google Maps clone with React, Leaflet, and OneSDK

This page summarizes the projects mentioned and recommended in the original post on dev.to

Our great sponsors
  • Appwrite - The open-source backend cloud platform
  • Onboard AI - Learn any GitHub repo in 59 seconds
  • InfluxDB - Collect and Analyze Billions of Data Points in Real Time
  • Sonar - Write Clean JavaScript Code. Always.
  • Revelo Payroll - Free Global Payroll designed for tech teams
  • create-react-app

    Set up a modern web app by running one command.

    Let’s start by creating an empty React project (using create-react-app):

  • OneSDK

    1️⃣ One Node.js SDK for all the APIs you want to integrate with

    We will use React and React Leaflet on the frontend, and Node.js, Express.js, and Superface OneSDK on the backend.

  • Appwrite

    Appwrite - The open-source backend cloud platform. The open-source backend cloud platform for developing Web, Mobile, and Flutter applications. You can set up your backend faster with real-time APIs for authentication, databases, file storage, cloud functions, and much more!

  • google-maps-clone

    Let's build a basic Google Maps clone! Complementary code to the tutorial.

    In this tutorial, we have learned how to create a Google Maps-like application using Leaflet and React. We've utilized Geolocation API to identify location coordinates and place markers, as well as creating a route between two different locations. You can find the final project on GitHub.

  • leaflet-defaulticon-compatibility

    Retrieve all Leaflet Default Icon options from CSS, in particular all icon images URL's, to improve compatibility with bundlers and frameworks that modify URL's in CSS.

    First install leaflet, react-leaflet and leaflet-defaulticon-compatibility. The last package fixes compatibility with Webpack bundler (used by create-react-app) to correctly load images from Leaflet's package.

  • leaflet-routing-machine

    Control for routing in Leaflet

    There are many plugins that we can use. I will go with Leaflet Routing Machine.

  • Openstreetmap

    The Rails application that powers OpenStreetMap

    To add a map component, you have many options, like Google Maps or Mapbox, but these are not free. We will use Leaflet, an open-source JavaScript library. With Leaflet, you can easily create interactive maps and add markers, pop-ups, and other types of data visualizations. Leaflet support various providers for map assets, but we will stick with the default, OpenStreetMap.

  • react-leaflet

    React components for Leaflet maps

    Leaflet has many official and third party plugins and wrappers. Since we’re using React, we can use React Leaflet which provides components for rendering Leaflet maps in React.

  • Onboard AI

    Learn any GitHub repo in 59 seconds. Onboard AI learns any GitHub repo in minutes and lets you chat with it to locate functionality, understand different parts, and generate new code. Use it for free at www.getonboard.dev.

  • React

    The library for web and native user interfaces

    React with Create React App

  • Nominatim

    Open Source search based on OpenStreetMap data

    Then implement a use case. We are going to use Geocoding use case with Nominatim provider. But you can, of course, use a different provider. Copy the example code into your server.js file and make a few changes, so we can send the information we will receive from the user:

  • Leaflet

    🍃 JavaScript library for mobile-friendly interactive maps 🇺🇦

    To add a map component, you have many options, like Google Maps or Mapbox, but these are not free. We will use Leaflet, an open-source JavaScript library. With Leaflet, you can easily create interactive maps and add markers, pop-ups, and other types of data visualizations. Leaflet support various providers for map assets, but we will stick with the default, OpenStreetMap.

  • Font-Awesome

    The iconic SVG, font, and CSS toolkit

    Additionally, I am going to use Font Awesome to add icons to our project. This will make it visually appealing and add to its overall design:

  • Express

    Fast, unopinionated, minimalist web framework for node.

    Express for backend

NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts