Simple API wrapper for making requests to Mapy.cz created by the Czech company Seznam.cz. No API credentials are required.
composer require djtommek/mapycz-api
<?php
$api = new \DJTommek\MapyCzApi\MapyCzApi();
$place = $api->loadPoiDetails('base', 2107710);
printf('lat: %F, lon: %F', $place->getLat(), $place->getLon());
// lat: 50.132131, lon: 16.313767
See tests or examples for more.
composer test
Note: The tests are making actual requests to the Mapy.cz website.
Mapy.cz frontend is communicating with backend via FastRPC requests and responses, which are XML-RPC binary encoded by their own custom encoder written in Javascript. See github.com/seznam/fastrpc or seznam.github.io/frpc.
Instead of creating PHP implementation of this FastRPC encoder/decoder, this wrapper is using HTTP headers:
Content-Type: text/xml
to send requests using classic formatted in XML-RPC.Accept: application/json
to receive responses in JSON.
- Mapy.cz can change any time without any warning.
- Personally, I would recommend not making extensive or malicious requests to prevent being banned. More info can be found on api.mapy.cz.