rainsens / map
A map sdk
Installs: 34
Dependents: 0
Suggesters: 0
Security: 0
Stars: 1
Watchers: 1
Forks: 0
Open Issues: 0
pkg:composer/rainsens/map
Requires
- ext-json: *
- guzzlehttp/guzzle: ^6.3
- mockery/mockery: ^1.2
- phpunit/phpunit: ~6
README
A map sdk for getting Geo Code and Geo-Fencing.
Installing
$ composer require rainsens/map -vvv
Configuration
You have to get the API Key from Amap before use.
Usage
use Rainsens\Map\Map; $key = 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'; $map = new Map($key);
Getting one geocoding once
$map->GeoCode->get('北京市朝阳区阜通东大街6号', '北京'); $map->GeoCode->get('北京市朝阳区阜通东大街6号', '北京', 'json'); $map->GeoCode->get('北京市朝阳区阜通东大街6号', '北京', 'xml');
Getting multi geocoding once
$cities = [ '北京市朝阳区阜通东大街6号', '北京市通州区运河东大街6号', ]; $map->GeoCode->get($cities, '北京');
Example
"status": "1", "info": "OK", "infocode": "10000", "count": "1", "geocodes": [ { "formatted_address": "北京市朝阳区阜通东大街|6号", "country": "中国", "province": "北京市", "citycode": "010", "city": "北京市", "district": "朝阳区", "township": [], "neighborhood": { "name": [], "type": [] }, "building": { "name": [], "type": [] }, "adcode": "110105", "street": "阜通东大街", "number": "6号", "location": "116.483038,39.990633", "level": "门牌号" } ]
<response>
<status>1</status>
<info>OK</info>
<infocode>10000</infocode>
<count>1</count>
<geocodes type="list">
<geocode>
<formatted_address>北京市朝阳区阜通东大街|6号</formatted_address>
<country>中国</country>
<province>北京市</province>
<citycode>010</citycode>
<city>北京市</city>
<district>朝阳区</district>
<township></township>
<neighborhood>
<name></name>
<type></type>
</neighborhood>
<building>
<name></name>
<type></type>
</building>
<adcode>110105</adcode>
<street>阜通东大街</street>
<number>6号</number>
<location>116.483038,39.990633</location>
<level>门牌号</level>
</geocode>
</geocodes>
</response>
About Geo-Fencing
About arguments please refer AMap.
$map->geoFence()->create([...]); $map->geoFence()->search([...]); $map->geoFence()->update([...]); $map->geoFence()->enable(string $gid, bool $status = true); $map->geoFence()->delete(string $gid); $map->geoFence()->monitor([...]);
Using in Laravel
Install with the same way and put the API Key in config/services.php
. . . 'map' => [ 'key' => env('MAP_API_KEY'), ],
Then configure the MAP_API_KEY in .env
MAP_API_KEY=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Map::geoCode->get('北京市朝阳区阜通东大街6号', '北京');
Map::geoFence()->create([...]); Map::geoFence()->search([...]); Map::geoFence()->update([...]); Map::geoFence()->enable(string $gid, bool $status = true); Map::geoFence()->delete(string $gid); Map::geoFence()->monitor([...]);
About arguments above please refer AMap.
Reference
Contributing
You can contribute in one of three ways:
- File bug reports using the issue tracker.
- Answer questions or fix bugs on the issue tracker.
- Contribute new features or update the wiki.
The code contribution process is not very formal. You just need to make sure that you follow the PSR-0, PSR-1, and PSR-2 coding guidelines. Any new code contributions must be accompanied by unit tests where applicable.
License
MIT