定制 geocoder-php/photon-provider 二次开发

按需修改功能、优化性能、对接业务系统,提供一站式技术支持

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

geocoder-php/photon-provider

最新稳定版本:0.10.0

Composer 安装命令:

composer require geocoder-php/photon-provider

包简介

Geocoder Photon adapter

README 文档

README

Build Status Latest Stable Version Total Downloads Monthly Downloads Code Coverage Quality Score Software License

This is the photon provider from the PHP Geocoder. This is a READ ONLY repository. See the main repo for information and documentation.

Install

composer require geocoder-php/photon-provider

API Documentation

https://photon.komoot.io https://github.com/komoot/photon

Usage

Basic usage

You can use your own photon instance :

// New instance of the provider :
$provider = new Geocoder\Provider\Photon\Photon($httpClient, 'https://your-photon-root-url');
// Run geocode or reverse query
$query = $provider->geocodeQuery(\Geocoder\Query\GeocodeQuery::create('Paris'));
$reverseQuery = $provider->reverseQuery(\Geocoder\Query\ReverseQuery::fromCoordinates(48.86036 ,2.33852));

OSM Tag Feature

You can search for location data based on osm tag filters.

For example, you can filter a geocode query to only include results of type 'place'. You can even restrict it to only have places of type 'city'. In the reverse geocoding context you can search for the 3 pharmacies closest to a location.

To see what you can do with this feature, check the official photon documentation

Below is an example to query the 3 pharmacies closest to a location :

$provider = new Geocoder\Provider\Photon\Photon($httpClient, 'https://your-photon-root-url');
$reverseQuery = \Geocoder\Query\ReverseQuery::fromCoordinates(52.51644, 13.38890)
    ->withData('osm_tag', 'amenity:pharmacy')
    ->withLimit(3);

$results = $provider->reverseQuery($reverseQuery);

You can combine multiple osm tag filters :

$provider = new Geocoder\Provider\Photon\Photon($httpClient, 'https://your-photon-root-url');
$reverseQuery = \Geocoder\Query\GeocodeQuery::create('Paris')
    ->withData('osm_tag', ['tourism:museum', 'tourism:gallery'])
    ->withLimit(5);
// Here we get 5 tourism results in Paris which are either museum or art gallery
$results = $provider->reverseQuery($reverseQuery);

Contribute

Contributions are very welcome! Send a pull request to the main repository or report any issues you find on the issue tracker.

统计信息

  • 总下载量: 276.7k
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 6
  • 点击次数: 2
  • 依赖项目数: 1
  • 推荐数: 1

GitHub 信息

  • Stars: 5
  • Watchers: 2
  • Forks: 4
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2019-01-05