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

SurveyJS - Open-Source JSON Form Builder to Create Dynamic Forms Right in Your App
With SurveyJS form UI libraries, you can build and style forms in a fully-integrated drag & drop form builder, render them in your JS app, and store form submission data in any backend, inc. PHP, ASP.NET Core, and Node.js.
surveyjs.io
featured
InfluxDB - Power Real-Time Data Analytics at Scale
Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
www.influxdata.com
featured
  • 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.

  • SurveyJS

    Open-Source JSON Form Builder to Create Dynamic Forms Right in Your App. With SurveyJS form UI libraries, you can build and style forms in a fully-integrated drag & drop form builder, render them in your JS app, and store form submission data in any backend, inc. PHP, ASP.NET Core, and Node.js.

    SurveyJS logo
  • 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.

  • InfluxDB

    Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.

    InfluxDB logo
  • 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

  • Low-Code Backend Solution for Refine.dev Using Prisma and ZenStack

    4 projects | dev.to | 27 May 2024
  • Deploy a Static React Site Using AWS S3 and CloudFront

    3 projects | dev.to | 25 May 2024
  • JavaScript concepts every developer should know

    1 project | news.ycombinator.com | 20 May 2024
  • Mastering Code Quality: Setting Up ESLint with Standard JS in TypeScript Projects

    9 projects | dev.to | 5 May 2024
  • The Internet Archive's last-ditch effort to save itself

    1 project | news.ycombinator.com | 29 Apr 2024