2013-07-11 7 views
14

पहले मुझे पता है कि स्टैक ओवरव्लो पर कई समान प्रश्न हैं। संक्षेप में मैं उन बिंदुओं को संबोधित करने के लिए भू योजना का उपयोग करता हूं जिन्हें अन्य ऐप्स द्वारा नियंत्रित किया जा सकता है।स्थान के साथ Google मानचित्र 7.0.0 के लिए इरादा

के उदाहरण की तरह

Android documentation मैं कुछ इस तरह का उपयोग करने की कोशिश की (वैसे यह आरएफसी यह पता पुराना हो लगता है!):

geo:50.95144,6.98725?q=50.95144,6.98725%20(Disneyland) 

तो मैं एक आशय मिल चयनकर्ता जहां मैं एक ऐप चुन सकता हूं जिसने मुझे Google मानचित्र डिज़नीलैंड के मामले में एक मार्कर के साथ दिखाया। अब ऐसा लगता है कि एक अद्यतन स्थापित किया गया था जो उस समर्थन को हटा देता है। मुझे बस यह संदेश मिलता है कि यह जगह नहीं मिली है।

मैंने RFC 5870 को समझने की कोशिश की जो 'भू' यूआरआई योजना को परिभाषित करता है। मुझे यह बिल्कुल ठीक नहीं है। यह सही है कि एक योग्यता को परिभाषित करना संभव नहीं है?

अब मैं Google मानचित्र पर एक स्थिति कैसे जोड़ सकता हूं?

+0

पर परीक्षण किया जिस तरह से मैं गूगल मैप्स 7.0.0 (# 700,002,512) के बारे में बात कर रहा हूँ से काम कर रहा है और मुझे पता नहीं क्यों है यह केवल नेक्सस 7 पर है। – rekire

+0

यह मेरे एन 4 पर नए मानचित्र ऐप के साथ समान है। उन्होंने एक सटीक भौगोलिक स्थान की खोज हटा दी। आपको बस अगला पता Google पता है। :( – flx

+0

यह और भी बेहतर हो रहा है: वेबपैप अब 'डिज़नीलैंड @ 50.95144,6.98725) जैसे प्रश्नों को जानता है। और जंगली में मार्कर साझा करते समय एंड्रॉइड ऐप इन प्रश्नों को बना सकता है। लेकिन यह इन प्रश्नों को स्वयं पार्स नहीं कर सकता .. :( – flx

उत्तर

13

WhatsApp मंशा है:

स्टार्ट u0 {अधिनियम = android.intent.action.VIEW बिल्ली = [android.intent.category.BROWSABLE] Dat = https://maps.google.com/maps?q=loc:lat,lng+(You)&rlz=1Y1TXLS_enDE543DE543 FLG = 0x3000000 सीएमपी = कॉम .android.browser/.BrowserActivity (अतिरिक्त है)} पीआईडी ​​2115

से तो अगर आप निम्नलिखित आशय यूआरआई का उपयोग करें:

String geoUri = "http://maps.google.com/maps?q=loc:" + lat + "," + lng + " (" + mTitle + ")";

... इसे व्हाट्सएप की तरह व्यवहार करना चाहिए। इसके अलावा ऐसा लगता है कि कुछ अन्य भौगोलिक ऐप्स भी इस इरादे पर ट्रिगर करते हैं। लेकिन यह सभी भौगोलिक ऐप्स के लिए काम नहीं करता है!

+0

एस 3, स्टॉक पर मेरे लिए काम नहीं करता 4.1.2, Google मानचित्र v 7.0.2 –

+2

देर से उत्तर के लिए खेद है ... दशमलव चिह्न के साथ एक बग था। यह चाल केवल डॉट के साथ दशमलव विभाजक के रूप में स्थानीय लोगों के लिए काम करती है। स्थानीय विभाजक के रूप में अल्पविराम का उपयोग करते हुए लोकेशन के साथ, डॉट को अल्पविराम द्वारा प्रतिस्थापित किया गया जिसके परिणामस्वरूप एक अवैध URL होता है। लेकिन यह बग v7.2 के साथ तय किया गया था, इसलिए इसे अब प्रत्येक लोकेल के साथ काम करना चाहिए। – cradle

1

Android दस्तावेज़ के उदाहरण की तरह (ऐसा लगता है जिस तरह से आरएफसी यह पता करने के लिए पुरानी हो!) मैं इस

दस्तावेज में चार नमूना निर्माण कर रहे हैं की तरह कुछ का उपयोग करने की कोशिश की :

geo:latitude,longitude 
geo:latitude,longitude?z=zoom 
geo:0,0?q=my+street+address 
geo:0,0?q=business+near+city 

आपको लगता है कि उन में से कोई भी एक "लेबल" कोष्ठक में, Uri के बाकी हिस्सों से एक अंतरिक्ष से अलग कर दिया है देखेंगे।

अब ऐसा लगता है एक अद्यतन स्थापित किया गया था कि जो कि समर्थन

कि "समर्थन", अगर यह पहले मौजूद, undocumented था निकाल देता है, और आप इसे पर भरोसा नहीं किया जाना चाहिए। आप यह भी ध्यान देंगे कि कई एंड्रॉइड के लिए मैपिंग एप्लिकेशन हैं, जिनमें से कोई भी उपयोगकर्ता geo:Intent के लिए चुन सकता है - क्या आपने यह सब देखने के लिए परीक्षण किया था कि क्या आपकी अनियंत्रित क्षमता उन सभी पर काम करती है या नहीं?

यह सही है कि एक योग्यता को परिभाषित करना संभव नहीं है?

मुझे उस आरएफसी में आपके लेबल-इन-कोष्ठक वाक्यविन्यास का कोई सबूत नहीं दिख रहा है। हालांकि, मैं मानता हूं, इन आईईटीएफ आरएफसी को पढ़ने में मुश्किल होती है।

अब मैं Google मानचित्र पर एक स्थिति कैसे जोड़ सकता हूं?

ड्रॉप लेबल में कोष्ठकों:

geo:50.95144,6.98725?q=50.95144,6.98725 

और, जब से तुम ? हिस्सा और आवश्यकता नहीं है, तो आप इस्तेमाल कर सकते हैं:

geo:50.95144,6.98725 

अपने असली सवाल है "अब मैं Google मानचित्र की स्थिति कैसे जोड़ सकता हूं और इसे अपना खुद का लेबल दिखा सकता हूं", शायद आप नहीं कर सकते।

आपका ऐप में मैपिंग इंजन एम्बेड करने के लिए आपका स्वागत है (उदाहरण के लिए, एंड्रॉइड के लिए Google के मानचित्र वी 2), इस मामले में आप उस इंजन के एपीआई की सीमाओं के लिए मानचित्र को चिह्नित कर सकते हैं। मैं उम्मीद करता हूं कि किसी भी गंभीर मैपिंग इंजन को कुछ प्रकार के लेबल के साथ मार्कर जोड़ने का समर्थन करना होगा।

+0

एएफआईके व्हाट्सएप बहुत कुछ इरादा का उपयोग करता है जो सीधे Google मानचित्र को पॉइंटर और लेबल के साथ खोलता है। मैं कल्पना कर सकता हूं कि Google मानचित्र खोलने के लिए कैसे बल देना है, लेकिन मैं नहीं करता यह नहीं पता कि मैं उस लचीले को कैसे मजबूर कर सकता हूं। मैं कुछ वाक्यविन्यास पसंद करूंगा जो एक नौसेना की अनुमति देता है इस बिंदु पर नेविगेट करने के लिए आयन सॉफ्टवेयर। – rekire

+0

@rekire: "व्हाट्सएप बहुत कुछ इरादा उपयोग करता है जो सीधे Google मानचित्र को पॉइंटर और एक योग्य के साथ खोलता है" - यदि सही है, तो व्हाट्सएप डेवलपर्स अपने उपयोगकर्ताओं से नफरत करते हैं, क्योंकि सभी उपयोगकर्ता Google मानचित्र का उपयोग नहीं करना चाहते हैं, भले ही Google मानचित्र डिवाइस पर स्थापित कोई समझदार डेवलपर "Google मानचित्र खोलने के लिए मजबूर होना चाहिए"। – CommonsWare

+0

मैं पूरी तरह से आपसे सहमत हूं। मैं अपने ऐप को Google मानचित्र पर बाध्य नहीं करना चाहता हूं। मैं सिर्फ यह जानना चाहता हूं कि वे कैसे काम करते हैं कि लेबल काम करते हैं। – rekire

2

यह नवीनतम गूगल मैप्स v7.1 मेरी नेक्सस 4.

public static void launchGoogleMaps(Context context, double latitude, double longitude, String label) { 
     String format = "geo:0,0?q=" + Double.toString(latitude) + "," + Double.toString(longitude) + "(" + label + ")"; 
     Uri uri = Uri.parse(format); 
     Intent intent = new Intent(Intent.ACTION_VIEW, uri); 
     intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); 
     context.startActivity(intent); 
} 
+0

ऐसा लगता है कि आप सही हैं कि उन्होंने उस बग को ठीक किया है। अजीब बात यह है कि मैं मैप्स 7.2 का उपयोग करता हूं और कम से कम समय यह काम नहीं करता है। – rekire

संबंधित मुद्दे