<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
    <channel>
        <title>نوشته های مازیار یوسفی نیا</title>
        <link>https://virgool.io/feed/@mazyaryousefinia</link>
        <description>سلام . خیلی متشکرم که اینجا رو میخونید . مهندسی کامپیوتر خوندمم و سالهاست روی پلتفرم های مختلف کد نویسی میکنم ،از رباتیک تا بازی ... عاشق سخت افزار و کار کردن باهاشون هستم .</description>
        <language>fa</language>
        <pubDate>2026-06-07 09:56:25</pubDate>
        <image>
            <url>https://files.virgool.io/upload/users/27574/avatar/79hmmz.png?height=120&amp;width=120</url>
            <title>مازیار یوسفی نیا</title>
            <link>https://virgool.io/@mazyaryousefinia</link>
        </image>

                    <item>
                <title>جست و جوی نقشه با استفاده از mapbox و ReactJS</title>
                <link>https://virgool.io/iran-react-community/%D8%AC%D8%B3%D8%AA-%D9%88-%D8%AC%D9%88%DB%8C-%D9%86%D9%82%D8%B4%D9%87-%D8%A8%D8%A7-%D8%A7%D8%B3%D8%AA%D9%81%D8%A7%D8%AF%D9%87-%D8%A7%D8%B2-mapbox-%D9%88-reactjs-csnlx0fzjcvh</link>
                <description> سلام امیدوارم حالتون خوب باشه . گوگل مدتهاست که سرویس نقشه خودش (google map) رو پولی کرده . هر چند که هزینش زیاد نیست ولی برای ما سخت و نشدنیه . به همین خاطر تصمیم بر اینه که بدنبال سرویس های مشابه و صد البته رایگان باشیم . خب mapbox میتونه سرویس مورد نظر ما باشه . صد البته که سرویس های دیگه مثل leaflet و mapwize هم هستن اما mapbox یه چیز دیگست ! خب ما برای مقایسه سرویس ها اینجا نیستیم ، هدف ما استفاده ازشونه پس زیاد فرقی نداره که کدوم یکی رو انتخاب میکنیم . فقط این مهمه که قشنگ استفاده کنیم ازشون . خب بریم سراغ اصل مطلب . هدف ما راه اندازی یه سیستم سرچ ساده روی مپ هست که با استفاده از Reactjs روی پلتفرم وب قراره اجرا بشه ، هست . قدم اول رو برمیداریم . من الان دارم روی ویندوز و با استفاده از Visual Studio code این کار رو انجام میدم و بهتون پیشنهاد میکنم از همین ادیتور استفاده کنید . برای نصب ری اکت به صفحه ی گیت هابش میریم و خیلی راحت با نوشتن یک کامند در ترمینال ویژال استودیو ، ری اکت رو نصب میکنیم .  npx create-react-app mapbox-search
cd mapbox-search
npm start
حرکت اول ادیت کردن فایل app.js هست که میخوایم پروژمون رو در قالبش انجام بدیم . import React, { Component } from &#039;react&#039;;
import &#039;./App.css&#039;;
class App extendeds Components {
    render() {
    return (
        &lt;div className=&quot;App&quot;&gt;
            &lt;h1&gt;جست و جوی نقشه &lt;/h1&gt;
        &lt;/div&gt;
        );
    }
}
export default App;
خب فایل ما این شکلی میشه . کار بعدی که باید انجام بدیم ثبت نام و دریافت access token از سایت مپ باکس هست که روال روتینی داره و به راحتی نصب میشه .   اول باید پکیج مپ باکس رو نصب کنیم . با استفاده از کامند پایین :npm install mapbox-gl --save بعد از پایان نصب اول آدرس فایل css رو توی فایل App.js قرار میدیم .&lt;link href=&#039;https://api.mapbox.com/mapbox-gl-js/v0.52.0/mapbox-gl.css&#039; rel=&#039;stylesheet&#039; /&gt;خب خط پایین رو قبل از render اضافه کنیم : import mapboxgl from &#039;mapbox-gl&#039;
...componentDidMount() {
mapboxgl.accessToken = &#039;&lt;توکن رو اینجا قرار بدید&gt;&#039;;
var map = new mapboxgl.Map({
container: &#039;map&#039;,
style: &#039;mapbox://styles/mapbox/streets-v11&#039;
});
}
...
&lt;div id=&quot;map&quot;&gt;&lt;/div&gt;خب تبریک میگم ما یه نقشه داریم . یه مشکلی که ما داریم اینه که نقشه خوب ست نمیشه روی صفحه پس یه استایل اضافه میکنیم . #map {
    text-align : left;
    }خب بریم سراغ اضافه کردن قابلیت سرچ . برای اینکه بخوایم سرچ رو اضافه کنیم برای پکیج  mapbox-gl-geocoder رو توی اپلیکیشنون نصب کنیم . برای این کار کامند زیر رو وارد میکنیم : npm i @mapbox/mapbox-gl-geocoder 
 
 import MapboxGeocoder from &#039;@mapbox/mapbox-gl-geocoder&#039;و تکه کد کنترل رو اضافه میکنیم .  map.addControl(new MapboxGeocoder({       accessToken: mapboxgl.accessToken   })); باز هم مشکل استایل داریم و تکه کد رو توی فایل استایل خودمون ذخیره میکنیم . mapboxgl-control-container {
    position: relative;
    top:0
    }خب حالا نقشه داریم با قابلیت سرچ . البته باید استایلش رو بر اساس سلیقه ی خودتون درست کنین . امیدوارم مورد استفاده قرار بگیره . لطفا نظراتتون رو برام بنویسید و همچنین میتونید پروژه رو از روی گیت هابم بردارید . موفق و پیروز باشید .  </description>
                <category>مازیار یوسفی نیا</category>
                <author>مازیار یوسفی نیا</author>
                <pubDate>Fri, 11 Jan 2019 12:52:02 +0330</pubDate>
            </item>
            </channel>
</rss>