Leaflet และ Mapbox คืออะไรและมีความแตกต่างกันอย่างไร


85

Leaflet และ Mapbox คืออะไรและอะไรคือความแตกต่างหรือการใช้งานของทั้งสอง? อะไรคือความแตกต่างที่สำคัญใน API

คำตอบ:


35

ปรับปรุง (2014-08-22):

คำตอบของฉันล้าสมัยเล็กน้อย โปรดดูคำตอบของ @ tmcwสำหรับการเปรียบเทียบล่าสุดระหว่าง Leaflet และ MapBox


คำตอบเดิม (2012-09-05):

คุณกำลังเปรียบเทียบแอปเปิ้ลกับส้ม

Leaflet เป็น "เพียง" แผนที่ API ไม่ได้ให้ข้อมูล / แผนที่เอง Mapbox เป็นบริการออกแบบและเผยแพร่แผนที่ซึ่งผลลัพธ์สุดท้ายคือแผ่นแผนที่ที่สร้างขึ้นจำนวนมากซึ่งเก็บไว้ในระบบคลาวด์ (และไฟล์ json บางไฟล์)

ตัวอย่างเช่นคุณอาจใช้แผนที่ Mapbox จาก Leaflet ตัวอย่าง

อย่างไรก็ตาม Mapbox ได้รับการพัฒนาโดย บริษัท ชื่อ DevelopmentSeed และพวกเขามีแผนที่ API ซึ่งเป็นคู่แข่งของ Leaflet ที่เรียกว่าModest Mapsแม้ว่าจะง่ายกว่ามากและมีฟังก์ชันการทำงานน้อยกว่า

ดังนั้นเพื่อสรุป:

  • Leaflet -> map API ไม่มีข้อมูล
  • MapBox -> ออกแบบและเผยแพร่แผนที่

3
แค่อยากจะเพิ่มว่า MapBox เพิ่งเปิดตัว js api ของตัวเอง: mapbox.com/mapbox.js/api/v0.6.5
threejeez

2
เพียงเพื่ออัปเดตสิ่งต่างๆ: ขณะนี้ Mapbox API ใช้ Leaflet เป็น API ซึ่งขยายด้วยปลั๊กอินเพื่อดึงข้อมูลแผนที่จากเซิร์ฟเวอร์
มาร์ค

คุณต้องการ Mapbox.js ก็ต่อเมื่อคุณใช้บริการออกแบบ / โฮสต์แผนที่ของ Mapbox.com ใช่ไหม อีกวิธีหนึ่งหากคุณกำลังสร้างแอปแบบกำหนดเองที่ใช้บริการไทล์ที่ไม่ใช่ Mapbox ฐานข้อมูลที่กำหนดเอง ฯลฯ คุณจะใช้ Leaflet แทนหรือไม่?
Clint Harris

4
@ คลินท์แฮร์ริส อันที่จริงตั้งแต่ฉันเขียนสิ่งนี้ครั้งแรกสิ่งต่างๆก็เปลี่ยนไปมากขึ้น ปัจจุบัน Mapbox.js เป็นเพียงไลบรารีที่อยู่ด้านบนของ Leaflet ซึ่งมีคุณสมบัติเพิ่มเติมบางอย่างและสถาปัตยกรรมปลั๊กอินอัจฉริยะ สามารถใช้ได้แม้ว่าคุณจะไม่ได้ใช้บริการออกแบบ / โฮสติ้งของ mapbox ก็ตาม
psousa

สวัสดี. ฉันเห็นใบปลิวกำลังใช้รหัสปฏิกิริยาฉันต้องการใช้รหัส IOS / Android สำหรับโครงการของฉันฉันจะทำอย่างไร
famfamfam

134

คำตอบอื่น ๆ นั้นดี แต่ล้าสมัยไปเล็กน้อยเนื่องจาก Mapbox มีการเปลี่ยนแปลงอย่างมากในสองปี

Leafletคือ JavaScript API สำหรับสร้างแผนที่แบบโต้ตอบบนอินเทอร์เน็ต มันสามารถทำงานร่วมกับ Mapbox แต่ยังความอุดมสมบูรณ์ของแหล่งข้อมูลอื่น ๆ กระเบื้องเช่นOpenStreetMapและแหล่งข้อมูลอื่น ๆ เช่นการวางซ้อน GeoJSON

Mapboxเป็น บริษัท ที่ให้บริการแผนที่และเทคโนโลยีซึ่งเป็นหนึ่งในบริการเหล่านั้นแผนที่ไทล์สามารถใช้ใน Leaflet เป็นแผนที่ฐานได้เช่นเดียวกับที่คุณใช้กระเบื้อง Google Map ใน Google Maps API Mapbox ยังพัฒนาปลั๊กอิน Leaflet ที่เรียกว่าMapbox.jsซึ่งทำให้ง่ายต่อการรวมเข้ากับไทล์ในขณะที่ยังคงใช้ฟังก์ชันที่ยอดเยี่ยมทั้งหมดใน Leaflet นอกจากนี้เรายังสนับสนุนการพัฒนาของใบปลิวตั้งแต่ดูแลการทำงานของที่นี่

คุณสามารถใช้ Mapbox.js ได้โดยไม่ต้องใช้กระเบื้อง Mapbox และใช้ Leaflet กับไทล์ Mapbox ซึ่งเป็นแบบผสมและจับคู่ได้ทั้งหมด เพิ่มเติม Mapbox.js เหมือนTileJSONและUTFGridสนับสนุนให้ง่ายต่อการทำงานร่วมกับ Mapbox แผนที่ แต่ไม่เปลี่ยนพฤติกรรมการมีอยู่ของแผ่นปลิว


23

คุณสามารถคิดว่า Mapbox เป็นศูนย์รวมของแผนที่

OpenStreetMaps เป็นคอมไพล์

Leaftlet เป็นไคลเอนต์คอมไพล์

และ mapbox.js เป็น 'GitHub สำหรับ Mac'


ให้ฉันอธิบายเพิ่มเติม

OpenStreetMaps (OSM) เป็นโอเพนซอร์สสำหรับสร้าง / แสดงแผนที่เช่นเดียวกับ git สำหรับการควบคุมแหล่งที่มา

Mapbox เป็น บริษัท สำหรับโฮสต์แผนที่ที่ใช้ OSM ซึ่งมีพลังมากกว่าแค่โฮสติ้งซึ่งในกรณีเดียวกันสำหรับ github สำหรับ git project

Leaftlet เป็นไลบรารีที่ช่วยให้ผู้ใช้สามารถแสดง / ใช้แผนที่ที่ใช้ OSM บนเบราว์เซอร์ของตนโดยใช้บริการโฮสต์ OSM เช่นเดียวกับไคลเอนต์ git ที่ทำกับบริการโฮสติ้ง git

mapbox.js เป็นไลบรารีที่ปรับปรุงแล้วเพื่อแสดง / ใช้แผนที่ที่โฮสต์บน mapbox.com ซึ่งใช้ OSM อยู่แล้วเช่นเดียวกับไคลเอนต์ 'GitHub สำหรับ Mac' ที่สร้างโดย github สำหรับโครงการที่โฮสต์ที่ github

หวังว่านี่จะเป็นการชี้แจงปัญหา


3

มันเป็นโพสต์เก่านี่คือการอัปเดตของฉัน

ตอนนี้ Mapbox กำลังใช้แผ่นพับเป็น JavaScript API อย่างเป็นทางการ (ฉันไม่รู้ว่าการทำงานภายในคืออะไร แต่ ... ฉันไม่สามารถเยี่ยมชม Modest Maps ได้เลยและ Mapbox ไม่ได้พูดถึงอะไรเกี่ยวกับ Modest Map บนเว็บไซต์ปัจจุบัน) .

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.