QML

2016-04-15 11 views
7

में एक ऑफ़लाइन इंटरैक्टिव मानचित्र का उपयोग करें, मैं फ़ाइल के रूप में OpenStreetMap से प्राप्त मानचित्र का एक हिस्सा इंजेक्ट करना चाहता हूं।QML

जो मैंने प्रलेखन में पढ़ा है, उससे Open Street Map Plugin में कोई नक्शा एक स्रोत फ़ाइल को मानचित्र के रूप में नहीं लेता है। यह केवल एक सर्वर के साथ काम करता है। समस्या यह है कि मेरे आवेदन को चलाने के दौरान मेरे पास इंटरनेट कनेक्शन नहीं होगा। मुझे आंतरिक रूप से मानचित्र का उपयोग करने की आवश्यकता है।

Mapbox और HERE प्लगइन के लिए डिट्टो।

क्या ऐसा करने का कोई और तरीका है?

Plugin { 
    id: somePlugin 
    // code here to choose the plugin as necessary 
} 

Map { 
    id: map 

    plugin: somePlugin 

    center { 
     latitude: -27 
     longitude: 153 
    } 
    zoomLevel: map.minimumZoomLevel 

    gesture.enabled: true 
} 

उत्तर

5

अद्यतन अप्रैल 2017: QtLocation अब ऑफ़लाइन OSM टाइल्स का समर्थन करता है

यहाँ एक नक्शा बनाने के लिए बॉयलरप्लेट है। http://doc.qt.io/qt-5/location-plugin-osm.html

देखें आप ध्यान दें के रूप में, QtLocation वर्तमान में आप offline option नहीं देता है। इसके अलावा, बेसमैप के लिए यह वर्तमान में केवल image tiles का समर्थन करता है (एक्सएमएल वेक्टर ओएसएम डेटा नहीं जिसके बारे में आप बात कर रहे हैं)।

QML में: आप ArcGIS Runtime SDK for Qt उपयोग कर सकते हैं

आप कुछ ही विकल्प है। संस्करण 10.26 से शुरू करना यह ऑफ़लाइन टाइल्स के साथ कस्टम मानचित्र परत जोड़ने का समर्थन करता है। आपको पहले अपने ओएसएम डेटा के पीएनजी/जेपीजी टाइल्स प्राप्त करने होंगे। यहां एक example layer है जो ओएसएम स्लीपपीमैप टाइल्स का समर्थन करता है।

सी ++ में:

  • http://wiki.openstreetmap.org/wiki/Libosmscout
  • https://www.mapbox.com/blog/qmapboxgl/
  • QGIS है: आप सदिश डेटा की आवश्यकता हो सकती है या OSM स्वरूप से रूपांतरण नहीं और अपने पक्ष पर अधिक काम प्रदर्शित करने के लिए कुछ ही विकल्प मिलेगा क्यूटी में किए गए, के रूप में कई अन्य ओपनसोर्स भौगोलिक परियोजनाओं हैं, इसलिए वे

भी सहायक हो सकता है, मत भूलना मुद्दों abo उल्लेख के लिए वोट करने के लिए क्यूटी बगट्रैक में वी!

+0

मेरी समस्या के लिए सबसे सुविधाजनक सुविधा होने के बावजूद, आर्कजीआईएस बहुत भारी (700 एमबी) है। MaxpboxGL टाइल्स से ऑफ़लाइन मानचित्र प्राप्त करने का सबसे आसान तरीका प्रतीत होता है, लेकिन मुझे 'QMapboxGL' को QML ऑब्जेक्ट में कनवर्ट करने की आवश्यकता होगी। मुझे आश्चर्य है कि यह संभव है। –

+0

दुर्भाग्य से, 'QMapboxGL' प्रोजेक्ट विंडोज का समर्थन नहीं करता है। मुझे अपनी परियोजना को क्रॉस-प्लेटफ़ॉर्म होने की आवश्यकता है। –

+0

आपके ऐप में आर्कजीआईएस रनटाइम लाइब्रेरी केवल कुछ सौ केबीएस होगी, इसलिए यह किसी भी मुद्दे का अधिक नहीं होना चाहिए। मेजबान मशीन पर आपको इसे सिस्टम स्तर पर स्थापित करना होगा। –

1

आप ऑफलाइन उपयोग के लिए tiles उत्पन्न या डाउनलोड कर सकते हैं। टाइल्स बनाने के लिए TileMill या Maperitive पर एक नज़र डालें। टाइल्स डाउनलोड करना Marble और कई अन्य टूल्स के माध्यम से हासिल किया जा सकता है, लेकिन कृपया टाइल सर्वर की उपयोग नीति का सम्मान करें! उच्च ज़ूम टाइल्स डाउनलोड करने से टाइल सर्वर पर उच्च भार होता है क्योंकि इन टाइलों को आमतौर पर कैश नहीं किया जाता है और उन्हें फ्लाई पर प्रस्तुत करने की आवश्यकता होती है।

+1

बढ़िया! मैंने अपनी 'ओएसएम' फ़ाइल से 'पीएनजी' टाइल्स जेनरेट करने के लिए मेपेरेटिव का उपयोग किया है। अब मुझे नक्शा उत्पन्न करने के लिए उनका उपयोग करने की आवश्यकता है। –