سرویس نقشهی استاتیک
صفحهای که در حال مشاهده آن هستید، حاوی مستندات قدیمی نسخه سرویس نقشهی استاتیک میباشد. مستندات مرتبط با نسخه جدید این سرویس را در این صفحه میتوانید مشاهده کنید.
سرویس نقشهی استاتیک نشان، امکان تولید تصویر آماده از نقشه را بر اساس موقعیت جغرافیایی، سطح زوم و با ابعاد دلخواه فراهم میکند.
- ۱
اولین قدم ثبتنام و دریافت API KEY برای اپلیکیشنی است که قصد دارید در آن از Map Api نشان استفاده کنید. کافیست در لینک فوق فرم مربوطه را تکمیل کنید تا بلافاصله API KEY را دریافت نمایید.
- ۲
Api Key دریافتی از پنل توسعهدهندگان نشان را به صورتی که در ادامه مشاهده میکنید از طریق کلید Api-Key در header درخواست سرویس بگنجانید.
- ۳
درخواست خود را با توجه به پارامترهایی که مربوط به سرویس موردنظرتان است با متد GET فراخوانی کنید.
- ۴
چنانچه درخواست شما با موفقیت پردازش و پاسخ داده شود، خروجی با فرمت JSON دریافت خواهید کرد و چنانچه به هر دلیل خطایی رخ دهد، کد خطا بصورت HTTP Status Code و نوع آن با فرمت JSON ارسال میگردد. کدهای خطای احتمالی نیز در ادامه به صورت کامل توضیح داده شدهاند.
شیوهی فراخوانی
آدرس Endpoint
با استفاده از آدرس زیر تولید تصویری از نقشه با ابعاد و موقعیت موردنظرتان امکانپذیر میباشد:
https://api.neshan.org/v2/static
پارامترهای ورودی
| پارامتر | توضیحات | نوع |
|---|---|---|
key | کلید اختصاصی که از پنل توسعهدهندگان نشان دریافت کردهاید. | اجباری |
type | استایل نقشه که یکی از مقادیر neshan، standard-day، standard-night و osm-bright میتواند باشد. | اجباری |
zoom | سطح بزرگنمایی نقشه که حداقل ۵ و حداکثر ۱۹ میتواند باشد. | اجباری |
center | مرکز نقشه که بهصورت عرض و طول جغرافیایی و با یک ویرگول در بین آنها ارسال میشود. | اجباری |
width | عرض تصویر موردنظر که حداکثر 2000 پیکسل میتواند باشد. | اجباری |
height | ارتفاع تصویر موردنظر که حداکثر 1200 پیکسل میتواند باشد. | اجباری |
marker | مارکر مرکز عکس را با استفاده از این پارامتر میتوانید تنظیم کنید. این پارامتر باید یکی از این مقادیر باشد: red, green, blue, violet, none. اگر مقدار این پارامتر none باشد روی عکس مارکری قرار نمیگیرد. | اختیاری |
نمونه درخواست
- cURL
- javascript
- java
- c#
- python
- php
curl --location 'https://api.neshan.org/v2/static?key=<YOUR_API_KEY>&type=neshan&width=500&height=500&zoom=12¢er=32.657307%2C51.677579&markerToken=<MARKER_TOKEN>'
const urlencoded = new URLSearchParams();
const requestOptions = {
method: "GET",
body: urlencoded,
redirect: "follow"
};
fetch("https://api.neshan.org/v2/static?key=<YOUR_API_KEY>&type=neshan&width=500&height=500&zoom=12¢er=32.657307%2C51.677579&markerToken=<MARKER_TOKEN>", requestOptions)
.then((response) => response.text())
.then((result) => console.log(result))
.catch((error) => console.error(error));
OkHttpClient client = new OkHttpClient().newBuilder()
.build();
MediaType mediaType = MediaType.parse("text/plain");
RequestBody body = RequestBody.create(mediaType, "");
Request request = new Request.Builder()
.url("https://api.neshan.org/v2/static?key=<YOUR_API_KEY>&type=neshan&width=500&height=500&zoom=12¢er=32.657307%2C51.677579&markerToken=<MARKER_TOKEN>")
.method("GET", body)
.build();
Response response = client.newCall(request).execute();
var client = new HttpClient();
var request = new HttpRequestMessage(HttpMethod.Get, "https://api.neshan.org/v2/static?key=<YOUR_API_KEY>&type=neshan&width=500&height=500&zoom=12¢er=32.657307%2C51.677579&markerToken=<MARKER_TOKEN>");
var response = await client.SendAsync(request);
response.EnsureSuccessStatusCode();
Console.WriteLine(await response.Content.ReadAsStringAsync());
import requests
url = "https://api.neshan.org/v2/static?key=<YOUR_API_KEY>&type=neshan&width=500&height=500&zoom=12¢er=32.657307%2C51.677579&markerToken=<MARKER_TOKEN>"
payload = {}
headers = {}
response = requests.request("GET", url, headers=headers, data=payload)
print(response.text)
<?php
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => 'https://api.neshan.org/v2/static?key=<YOUR_API_KEY>&type=neshan&width=500&height=500&zoom=12¢er=32.657307%2C51.677579&markerToken=<MARKER_TOKEN>',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => '',
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 0,
CURLOPT_FOLLOWLOCATION => true,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => 'GET',
));
$response = curl_exec($curl);
curl_close($curl);
echo $response;
تغییر استایل نقشه
در حال حاضر در زیرساخت توسعهی نقشه وب نشان چهار نوع استایل برای نقشه آماده شده است. شما به راحتی میتوانید از طریق متد setMapType در کلاس Map از آنها استفاده کنید. همچنین امکان استفاده از سایر نقشههای زیر دست در این زیرساخت پیشبینی شده است. در ادامه شیوهی استفاده از این متد و همچنین قابلیت استفاده از سایر نقشههای زیردست را یک مثال برای شما توضیح دادهایم.
انواع استایل نقشه در نشان عبارتند از:
- dreamy
- dreamy-gold
- neshan
- standard-day
- standard-night
- osm-bright
کد خطاهای سرویس
| HTTP Code | Status | Description |
|---|---|---|
| 400 | INVALID_ARGUMENT | خطا در پارامتر های ورودی |
| 470 | CoordinateParseError | چنانچه مختصات جغرافیایی ارسالی معتبر نباشد رخ خواهد داد. |
| 480 | KeyNotFound | در صورتی که در فراخوانی وبسرویس از یک Api Key نامعتبر استفاده کنید یا Api Key خود را در header ارسال نکنید رخ خواهد داد. |
| 481 | LimitExceeded | در صورتی که تعداد فراخوانی وبسرویسها از میزان مجازی که برای شما تعیین شدهاست عبور کند رخ خواهد داد. |
| 482 | RateExceeded | چنانچه تعداد درخواست وبسرویس در دقیقه از حد مجاز عبور کند رخ خواهد داد. |
| 483 | ApiKeyTypeError | کلید دسترسی استفاده شده با سرویس فراخوانی شده همخوانی ندارد. بایستی از کلید دسترسی مرتبط با سرویس مورد نظر استفاده کنید. |
| 484 | ApiWhiteListError | با توجه به اسکوپ تعریفشده برای این کلید، شما مجاز به استفاده نیستید. |
| 485 | ApiServiceListError | سرویس فراخوانی شده با سرویسهای تعریفشده برای این کلید دسترسی همخوانی ندارد. |
| 500 | GenericError | وقوع خطای ناشناخته |