24 lines
737 B
Perl
Executable File
24 lines
737 B
Perl
Executable File
#!/usr/bin/perl
|
|
|
|
use strict;
|
|
use warnings;
|
|
|
|
use Math::Trig;
|
|
|
|
my $mb_token = 'pk.eyJ1IjoicmFndGFndGFnIiwiYSI6ImNpcnh3bnowbTAwMDUyemw1enBtbm50bTgifQ.WXKQzAfdJjsuQ6P6-BLZhg';
|
|
|
|
sub getTileNumber {
|
|
my ($lat,$lon,$zoom) = @_;
|
|
my $xtile = int( ($lon+180)/360 * 2**$zoom ) ;
|
|
my $ytile = int( (1 - log(tan(deg2rad($lat)) + sec(deg2rad($lat)))/pi)/2 * 2**$zoom ) ;
|
|
return ($xtile, $ytile);
|
|
}
|
|
|
|
if (scalar @ARGV == 3) {
|
|
my $z = $ARGV[2];
|
|
my ($x, $y) = getTileNumber($ARGV[0], $ARGV[1], $ARGV[2]);
|
|
print "x = $x y = $y z = $z\n";
|
|
print "https://api.tiles.mapbox.com/v4/mapbox.streets/$z/$x/$y.png?access_token=$mb_token\n";
|
|
print "https://api.tiles.mapbox.com/v4/mapbox.mapbox-streets-v7/$z/$x/$y.vector.pbf?access_token=$mb_token\n";
|
|
}
|