d-open-location-code 1.0.1

port of google's open-location-code (also known as Plus+Codes)


To use this package, run the following command in your project's root directory:

Manual usage
Put the following dependency into your project's dependences section:

DOpenLocationCode

Port of the open-location-code library (also known as plus codes) for identifying geo areas.

This ports commit a6eb95b.

Example

normal usage:

import openlocationcode;

double lat = 54;
double lon = 4;

// get geo coordinates from plus code string
OpenLocationCode plusCode = OpenLocationCode.fromString("8FVC2222+22GCCCC");
writeln(plusCode.decode());
// -> OpenLocationCodeArea(47.0001, 8.00006, 47.0001, 8.00006, 15)

// get plus code string from geo coordinates
OpenLocationCode generatedPlusCode = OpenLocationCode.encode(lat, lon);
writeln(generatedPlusCode.code);
// -> 9F662222+22

nothrow @nogc usage:

import openlocationcode;

double lat = 54;
double lon = 4;

// get geo coordinates from plus code string
string input = "8FVC2222+22GCCCC";
// make sure to only use uppercase characters in your input!
if (!input.isValidUppercaseCode)
	return error;
OpenLocationCode plusCode = OpenLocationCode.fromTrustedString(input);

if (!plusCode.isFull)
	return error;
OpenLocationCodeArea area = plusCode.decodeTrustedFull();
printf("area around %f, %f\n", area.centerLatitude, area.centerLongitude);
// -> area around 47.000062, 8.000063

// get plus code string from geo coordinates
ubyte[maxOLCLength] buffer;
scope ubyte[] generatedPlusCodeString = OpenLocationCode.encode(buffer, lat, lon);
printf("%.*s\n", generatedPlusCodeString.length, &generatedPlusCodeString[0]);
// -> 9F662222+22
Dependencies:
none
Versions:
1.0.1 2020-Jan-08
1.0.0 2020-Jan-08
~master 2020-Jan-08
Show all 3 versions
Download Stats:
  • 0 downloads today

  • 0 downloads this week

  • 0 downloads this month

  • 6 downloads total

Score:
0.8
Short URL:
d-open-location-code.dub.pm