ऑफ़लाइन टाइल नक्शा वेब ऐप


23

मुझे यकीन नहीं है कि यह यहां या स्टैकओवरफ़्लो पर पोस्ट करना है, क्योंकि यह एक क्रॉसओवर की तरह है। मैं इसे एक कोशिश देता हूं।

प्रस्तावित एचटीएमएल 5 मानक में, कैश मेनिफ़ेस्ट का उपयोग करके स्थानीय कैश में वेब एप्लिकेशन डेटा को संग्रहीत करने का विकल्प होता है । मैं एक ऑफ़लाइन टाइल वाले वेब मैप एप्लिकेशन के लिए इस तकनीक का उपयोग करना चाहता हूं और यहां जियोसेवर के मानक इंस्टॉलेशन के आधार पर एक त्वरित प्रोटोटाइप बनाया।

मैंने सिर्फ OpenLayers क्लाइंट पेज को रिप्लेस किया है जो डिफ़ॉल्ट लेयर्स में से एक से उत्पन्न होता है और <html>टैग को बदल दिया जाता है

<html xmlns="http://www.w3.org/1999/xhtml" manifest="cache.manifest">

और फ़ाइल बनाई cache.manifestजो बस पढ़ता है

CACHE MANIFEST
http://lima.schaaltreinen.nl:8080/

जो कि, मामले की मेरी सीमित समझ में, स्थानीय रूप से उस URL से लोड होने वाली सभी चीज़ों को कैश करना चाहिए: सभी टाइलें और ओपनलाइज़र जेएस। वास्तव में, फ़ायरफ़ॉक्स में पहली बार कॉल करने पर, यह मुझे स्थानीय भंडारण की अनुमति देने के लिए कहता है, लेकिन जब मैं ताज़ा करता हूं - या तो ऑनलाइन या ऑफलाइन - पेज क्रैक्स बताता है कि ओपनलाइयर ऑब्जेक्ट परिभाषित नहीं है। ऐसा लगता है कि यह OpenLayers JS लोड नहीं किया है।

किसी ने सफलतापूर्वक ऑफ़लाइन OpenLayers- आधारित टाइल वाला वेब मैप ऐप तैयार किया है? या कैसे इस पर आगे जांच करने के लिए संकेत?

जवाबों:


9

आप एक छड़ी और MapBox iPad पर परियोजनाओं में रुचि हो सकती है । (अस्वीकरण: पूर्व को डिज़ाइन किया गया, बाद में शामिल किया गया। हालांकि, दोनों बीएसडी-लाइसेंस प्राप्त हैं, और अंतर्निहित टाइल प्रारूप, जिसे " .mbtiles" कहा जाता है , SQL- आधारित है।)

स्टिक पर मैप्स एक ऑफ़लाइन OpenLayers मैप है। क्लाइंट साइड स्टोरेज के बजाय पोर्टेबल डेटाबेस / सर्वर के साथ जाने का मुख्य तर्क यह है कि बड़े डेटा स्टोरेज के रूप में ब्राउज़र का उपयोग करना काफी काम नहीं करता है और कैश को पॉपुलेट करना और इंडेक्स करना महंगा हो सकता है।


दिलचस्प समाधान, न कि मैं जिसके बारे में सोच रहा था, लेकिन यह व्यावहारिक दिखता है। कस्टम टाइल परतों के साथ स्टिक पर मैपबॉक्स / मैप्स को लोड करना कितना आसान या मुश्किल है?
मुवेक्सेल

1
यह अपेक्षाकृत सरल है: कुछ उपकरण हैं - एक सी-आधारित आयातक ( github.com/developmentseed/mb_tiles_importer ), gdal2tiles का एक संस्करण, जो mbtiles ( github.com/developmentseed/gdal2mb ) और एक आगामी GUI टूल को आउटपुट करता है।
tmcw

4

सोचें कि आपको 'लोकलहोस्ट' पर अपना खुद का तिलकुट बनाने की आवश्यकता होगी, http://code.google.com/p/cumberland/wiki/TilePyramiderAndOpenLayers देखें

उदाहरण

    Using vmap
    http://localhost:8081/vmap0/levelzero/0/0.png
    The tile near the middle of the tile set in the third zoom level of vmap0.
    http://localhost:8081/vmap0/leveltwo/3/4.png
    The tile near the middle of the tile set in the fifth zoom level of landsat2000.
    hhttp://localhost:8081/vmap0/landsat2000/1/8500/8500.png
Source:
    The tile at the origin of the tile set in the first zoom level of basemap.
    http://www.osgeo.org/services/basemap/L1/0/0.png

नोट: रिक्त स्थान नहीं होना चाहिए


यह उपयोगी है, लेकिन इसके लिए एक स्थानीय वेब सर्वर की आवश्यकता होती है, जो हमेशा संभव नहीं हो सकता है, उदाहरण के लिए जब आप इसे आईफोन / आईपैड पर चलाना चाहते हैं। सामान्य तौर पर, मैं एचटीएमएल 5 / कैश प्रकट प्रेमी वेब ब्राउज़र के अलावा क्लाइंट की ओर से बिना किसी आवश्यकता के इसे प्राप्त करना चाहता हूं।
म्वेक्सेल


1
मैं मूल प्रश्न में उस पृष्ठ से पहले ही जुड़ा हुआ हूं। मुझे पता है कि यह जाने का रास्ता है, लेकिन मैं यह पता लगाने की कोशिश कर रहा हूं कि क्या यह संभव है।
म्वेक्सेल

3

इसके बारे में लेखों में दिखाई देने वाली एक जटिलता यह है कि:

ध्यान दें कि मैनिफ़ेस्ट फ़ाइल का MIME प्रकार टेक्स्ट / कैश-मैनिफ़ेस्ट है।

और उदाहरण सभी विशिष्ट फ़ाइलों को कैश करने के लिए सूचीबद्ध करते हैं (लेकिन मुझे आगे पढ़ने की आवश्यकता हो सकती है)।


यह एक बात है जो मेरे लिए स्पष्ट नहीं है: चाहे आपको विशिष्ट ठोस URL को श्वेतसूची में रखने की आवश्यकता हो या आप URL उपसर्गों का उपयोग कर सकते हैं। मैं अभी तक इसका परीक्षण नहीं कर पाया हूं। जिसके पास कोई भी हो
11

3

हो सकता है कि एक और तरीका: जियोप्रोजेक्टर http://www.geopublishing.org/ ऑफ़लाइन उपयोग के लिए आपके नक्शे प्रकाशित कर सकता है। जियोप्रोसेसर एक डेस्कटॉप सॉफ्टवेयर है जो आपको वेक्टर और रैस्टर डेटा को एक साथ प्लग करने और डिजिटल मैप बनाने की अनुमति देता है। फिर आप इस नक्शे को स्टैंड-अलोन जावा एप्लिकेशन के रूप में निर्यात कर सकते हैं। यह ऑटोटार्ट फाइल आदि भी बनाता है और लक्षित कंप्यूटरों पर जावा इंस्टॉलेशन की आवश्यकता नहीं होती है।

UPDATE 2018: जियोप्रोजेक्टर अब सक्रिय रूप से विकसित नहीं हुआ है।


नोट: गंतव्य जर्मन में है, भले ही यूआरएल साइट के अंग्रेजी भाषा संस्करण के लिए है। बाएं हाथ के नेविगेशन कॉलम में [अंग्रेजी] लिंक को ठीक करने के लिए।
मैट विल्की
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.