Skip to content

Converter of links to geolocations into coordinates and vice versa without using API services.

License

Notifications You must be signed in to change notification settings

VDS13/map2map-converter

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🗺 map2map-converter 🗺

Converter of links to geolocation into coordinates and vice versa without using API services.

npm package npm download https://t.me/vds_13

📙 Description

The library will help you get the coordinates from the URL without using the API services.

Supported web mapping platforms:

  • Yandex
  • Google
  • 2Gis
  • Apple

Supported Telegram bot libraries:

📦 Install

npm i map2map-converter

🚀 Usage

Example 1:

    const map2map = require('map2map-converter');
    maps = new map2map();
    maps.twoGisMapsToCoord('https://go.2gis.com/7muvw').then((response) => console.log('twoGisMapsToCoord: ' + response.lat + ' ' + response.long));
    maps.yandexMapsToCoord('https://yandex.ru/maps/org/187589077176').then((response) => console.log('yandexMapsToCoord: ' + response.lat + ' ' + response.long));
    maps.googleMapsToCoord('https://maps.app.goo.gl/ijGhmJi4HtQAhE5h8?g_st=it').then((response) => console.log('googleMapsToCoord: ' + response.lat + ' ' + response.long));
    const apple = maps.appleMapsToCoord('https://maps.apple.com/?address=London,%20SW1A%200AA,%20England&auid=8156900488245778404&ll=51.500687,-0.124561&lsp=9902&q=Big%20Ben&_ext=Cj4KBQgEEOEBCgQIBRADCgQIBhBzCgQIChAOCgQIEBABCgQILxBmCgQIUhAFCgQIVRAOCgQIWRAGCgUIpAEQARIkKcCy0qQUwElAMc0uzs5Y6r+/Od7U9mUfwElAQS+175sM2L+/&t=m')
    console.log('coordToYandexMaps: ' + maps.coordToYandexMaps({lat: 50.321, long: 50.123}));
    console.log('coordToGoogleMaps: ' + maps.coordToGoogleMaps({lat: 50.321, long: 50.123}));
    console.log('coordToAppleMaps: ' + maps.coordToAppleMaps({lat: 50.321, long: 50.123}));
    console.log('coordToTwoGisMaps: ' + maps.coordToTwoGisMaps({lat: 50.321, long: 50.123}));
    console.log('identifyMap(google): ' + maps.identifyMap('https://maps.app.goo.gl/sbxrbSUjsfcgU7CG8?g_st=it'));
    console.log('identifyMap(yandex): ' + maps.identifyMap('https://yandex.ru/maps/-/CCUri0hzlC'));
    console.log('identifyMap(2gis): ' + maps.identifyMap('https://go.2gis.com/7muvw'));
    console.log('identifyMap(apple): ' + maps.identifyMap('https://maps.apple.com/?address=London,%20SW1A%200AA,%20England&auid=8156900488245778404&ll=51.500687,-0.124561&lsp=9902&q=Big%20Ben&_ext=Cj4KBQgEEOEBCgQIBRADCgQIBhBzCgQIChAOCgQIEBABCgQILxBmCgQIUhAFCgQIVRAOCgQIWRAGCgUIpAEQARIkKcCy0qQUwElAMc0uzs5Y6r+/Od7U9mUfwElAQS+175sM2L+/&t=m'));
    console.log('appleMapsToCoord: ' + apple.lat + ' ' + apple.long);

Result 1:

Example 2:

    const {Telegraf} = require('telegraf');
    const map2map = require('map2map-converter');
    const TOKEN = 'token';

    const bot = new Telegraf(TOKEN);
    const maps = new map2map();

    bot.start((ctx) => maps.coordToTelegramLocation({lat: 50.321, long: 50.123}, ctx.message.chat.id, bot, 'telegraf'));

    bot.on("location", (ctx) => {
        bot.telegram.sendMessage(ctx.message.chat.id ,maps.coordToYandexMaps(maps.telegramLocationToCoord(ctx.message)));
    });
    bot.launch();
    process.once('SIGINT', () => bot.stop('SIGINT'));
    process.once('SIGTERM', () => bot.stop('SIGTERM'));

Result 2:

License

The MIT License (MIT)

Copyright © 2023 Dmitry Vyazin