2011-12-13 23 views
7

मैं एक एंड्रॉइड ऐप बनाना चाहता हूं जो एक इमारत के अंदर से बनाया गया नक्शा लोड करता है। मैं चाहता हूं कि यह एक कमरे के बीच दिशा-निर्देश प्रदान करे। और यदि संभव हो तो फर्श के बीच।मैं एक मानचित्र के साथ एक एंड्रॉइड ऐप बनाना चाहता हूं जो दिशा-निर्देश प्रदान करता है, लेकिन Google मानचित्र

मैं मानचित्र को ज़ूम करने योग्य और क्लिक करने योग्य भी चाहता हूं। यानी आप कहां क्लिक कर सकते हैं, और कहां जाना चाहते हैं, और ऐप दिशानिर्देश प्रदान करेगा। या आप टेक्स्ट बॉक्स में प्रवेश करते हैं कि आप किस कमरे में हैं, और जहां आप जाना चाहते हैं, और फिर, दिशानिर्देश प्रदान किए जाते हैं।

मैंने कुछ ऐसा किया जो आपको ओपन सोर्स मैप का उपयोग करने और प्रत्येक कोने, या संदर्भ के स्थान पर अपने नोड्स जोड़ने की अनुमति देता है। लेकिन Google खोज के एक घंटे बाद मुझे साइट अब और नहीं मिल रही है।

क्या किसी को पता है कि मैं यह कैसे कर सकता हूं?

+3

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

+2

http://jquerygeo.com/ – Andrew

+1

http://wiki.openstreetmap.org/wiki/Indoor_Mapping शायद आप वहां से विचार प्राप्त कर सकते हैं। – Jasonw

उत्तर

2

हालांकि इस सवाल का जवाब आप के लिए देख रहे हैं नहीं किया जा सकता:

तुम हमेशा कि यह करता है एक अनुप्रयोग लिख सकते हैं। यदि आप मानचित्र पर नोड्स को पहले से ही तैयार करने के इच्छुक हैं, तो आप एक प्रोग्राम लिख सकते हैं जो (मुख्य रूप से उपयोग किया जाता है) गेम पथिंग एल्गोरिदम का उपयोग करता है, जैसे ए *, और वहां से एक मार्ग का पता लगाता है। यह मुश्किल होगा, लेकिन मुझे लगता है कि वेक्टरों से जुड़े लागत के साथ नोड्स और वेक्टर-मैपिंग को रखकर (शायद पैर/मीटर या उस तरह कुछ मापा जाता है), तो आप इसे ए * के साथ सेट करने में सक्षम हो सकते हैं। ..

कहना मुश्किल है। मैंने एक त्वरित Google की कोशिश की और साथ ही खाली भी आया।

+0

मैं प्रतिक्रिया की सराहना करता हूं। लेकिन यह एक कॉलेज प्रोजेक्ट है, जहां मैं जावा से पहले ही स्क्रैच से सीख रहा हूं, मुझे लगता है कि ए * सीखने के बिना अभी सीखने की कोशिश करने के लिए पर्याप्त है। लेकिन यह कम से कम किसी की मदद नहीं कर सकता है। एक बार फिर धन्यवाद। यदि मैं इसका उपयोग कर समाप्त करता हूं तो मैं आपको बता दूंगा। –

1

आप एक MapActivity जो तब घर कर सकते हैं एक MapView, जो अच्छाई इंटरेक्टिव मानचित्र के लिए एक ईमानदार है (MapView किसी अन्य गतिविधि में एम्बेड नहीं किया जा सकता है) बना सकते हैं, लेकिन यह वास्तव में पूर्ण रुप से नहीं कर रहा है।

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

Google डीआईडी ​​ हालांकि हाल ही में इनडोर मानचित्र & नेविगेशन को शामिल करने के लिए Google मानचित्र ऐप को अपडेट किया गया है। वे एक ऐसी साइट प्रदान करते हैं जहां आप अपनी इमारत के submit a floor plan पर जा सकते हैं, इसलिए इसे आधिकारिक ऐप में जोड़ा जा सकता है।

एक बार अपनी फर्श योजना आधिकारिक तौर पर जोड़ा जाता है, तो आप सिर्फ आधिकारिक एप्लिकेशन आप के लिए अपने नेविगेशन करने के लिए इस तरह की एक आशय का उपयोग कर लांच सकता है: जहां विचार सरल लगता है

Intent intent = new Intent(android.content.Intent.ACTION_VIEW, 
Uri.parse("http://maps.google.com/maps?saddr=20.344,34.34&daddr=20.5666,45.345")); 
startActivity(intent); 
3

इससे उन्हें उदाहरणों में से एक है, लेकिन वास्तव में नहीं है। ऐसे कई कार्य हैं जिन्हें आपको हल करने की आवश्यकता है, कुछ पहले से ही बात कर चुके हैं।

1) कार्यालय का मॉडल कैसे करें। यह करने की आवश्यकता है ताकि आपके लिए मॉडल करना आसान हो लेकिन फ़ाइल छोटा हो। यह एक प्रारूप में होना चाहिए कि आपका पथ खोज एल्गोरिदम समझ सकता है। इसका मतलब यह है कि जब आप पथ खोजते हैं तो आप डेटा में बदलाव करेंगे।

2) स्थान ढूँढने/इनपुट। हार्डवेयर द्वारा किया गया (जीपीएस इसे काट नहीं देगा) या उपयोगकर्ता कहता है कि वे कहां हैं। एनएफसी और कार्यालय में चारों ओर रखे गए टैग के साथ किया जा सकता है, आदर्श समाधान नहीं, टैग दिखाना होगा।उपयोगकर्ता अपना स्थान इनपुट कर सकता है लेकिन वे खो सकते हैं और नहीं जानते कि वे कहां हैं।

3) डेटा कैसे पेश करें, आप एक जादुई 3 डी ऐप लिख सकते हैं जो एक मिशन असंभव भवन लेआउट दिखा रहा है। वह छह महीने का काम करेगा! याद रखें, आपका नक्शा 3 डी में है, सड़क के नक्शे 2 डी होते हैं। (कुछ फ्लाई ओवर के साथ ...)

4) प्रगति ट्रैकिंग। ऐप को वास्तव में यह जानने की जरूरत है कि आप कैसे कर रहे हैं ताकि अगर आप मार्ग से बाहर निकल जाएंगे तो यह आपको वापस जाने के लिए कहेंगे। यह फिर से घर के अंदर हासिल करना मुश्किल होगा। प्रगति ट्रैकिंग एक ऐसा क्षेत्र है जहां पीएनडी (व्यक्तिगत नेविगेशन डिवाइस) समय व्यतीत करता है क्योंकि यह वास्तव में सॉफ्टवेयर में उपयोगकर्ता विश्वास को प्रभावित करता है।

टॉमटॉम में काम करने के बाद मैं कह सकता हूं कि आप वर्षों से इस पर हो सकते हैं।

चूंकि यह एक कोलाज प्रोजेक्ट है, क्या मैं एक सरल परियोजना का सुझाव दे सकता हूं?

इसे 2 डी मानचित्र के साथ करें, सरल ग्रिड आधारित नक्शा एक भूलभुलैया समस्या में क्लासिक माउस की तरह थोड़ा सा करें। पथ खोजने के लिए ए * लागू करें। एक बार ऐसा करने के बाद आप अपने मूल योजना के लिए समय बढ़ा सकते हैं।

अतीत में मुझे बहुत अच्छी किताब मिली है, उदाहरण के लिए प्रोग्रामिंग गेम एआई "है। आईएसबीएन 1-55622-078-2। अध्याय 8 पथ खोज के बारे में है और ए * पर बहुत अच्छा हिस्सा है।

शुभकामनाएं। :)

1

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

  1. स्टोर नक्शे स्थिर और गतिशील नहीं - मैं क्या मतलब है, चित्र/तस्वीरें अप पॉपिंग जब किसी एक से दूसरे कमरे या एक से दूसरे मंजिल से जाना चाहती है। गतिशील रूटिंग थोड़ा मुश्किल है। हाथों से पहले चित्रों को संग्रहित करें ताकि वे पॉप अप करें।

  2. डिजस्ट्रा के एल्गोरिदम जैसे कुछ सबसे कम पथ एल्गोरिदम का उपयोग करें। आपको इस एल्गोरिदम के निष्पादन के लिए तैयार किए गए जावा कार्यक्रम मिलेंगे। इसका उपयोग करके, आप मार्ग प्राप्त कर सकते हैं। एक बार मानचित्र उपलब्ध हो जाने पर, इसे क्लिक करने योग्य और ज़ूमिंग विकल्पों को जोड़ने से समस्या बहुत अधिक नहीं होनी चाहिए।

किसी भी तरह से दोनों चरणों को संयोजित करें (क्षमा करें, यहां कोई कोड नहीं है 'cuz मैं स्वयं एक के साथ नहीं आ सकता)। जैसा कि रिचर्ड ऊपर बताता है, मेरे पास एनएफसी को मेरे दिमाग में इसे लागू करने के लिए था (मेरी पूरी परियोजना इस पर आधारित थी)। एनएफसी मूल रूप से एक आरएफआईडी तकनीक है और इसलिए वायरलेस है। आप इसके नेटवर्क पक्ष को कार्यान्वित करने के लिए 802.11 बी/जी/एन का उपयोग कर सकते हैं। अगर आपको कुछ और मदद की ज़रूरत है, तो कृपया मुझे बताएं। इससे मदद मिलेगी कि मैं कितना कर सकता हूं।

सभी बेहतरीन।