2009-09-29 19 views
12

मैंने पाया कि गूगल मैप्स एपीआई के माध्यम से दिशा-निर्देश का समर्थन करता है:MKMapView मार्ग/दिशा-निर्देश

var map; 
var directionsPanel; 
var directions; 

function initialize() { 
    map = new GMap2(document.getElementById("map_canvas")); 
    directionsPanel = document.getElementById("my_textual_div"); 
    map.setCenter(new GLatLng(49.496675,-102.65625), 3); 
    directions = new GDirections(map, directionsPanel); 
    directions.load("from: 500 Memorial Drive, Cambridge, MA to: 4 Yawkey Way, Boston, MA 02215 (Fenway Park)"); 
} 

तो कैसे इस ऑब्जेक्टिव-सी में अनुवाद किया जा सकता है तो यह iPhone के द्वारा प्राप्त किया जा सकता है? मुझे पता है कि एमकेमैप व्यू पर एक रेखा कैसे खींचना है, मुझे बस रूट के लिए भौगोलिक स्थान की आवश्यकता है।

या शायद दो भौगोलिक स्थान बिंदुओं के बीच मार्ग प्राप्त करने का एक अलग तरीका है।

कृपया मुझे बताएं,

अग्रिम धन्यवाद।

उत्तर

9

वहाँ एक गैर-दस्तावेजी गूगल मैप्स दिशा API उल्लेख किया और उजागर here

इसके अलावा, आप नमूना IPhone आवेदन जो एपीआई here

लेकिन चेतावनी ऊपर उल्लेख किया है का उपयोग कर MKMapView पर मार्गों/दिशाओं ड्रॉ पर एक नज़र रखना चाहिए है आप अनियंत्रित Google मानचित्र दिशा-निर्देश API के बारे में लाइसेंसिंग मुद्दों के बारे में हैं।

उम्मीद है कि इससे मदद मिलती है।

+3

** - नोटिस - ** कृपया जिथब पर नमूना प्रोजेक्ट पाएं [https://github.com/kadirpekel/MapWithRoutes ](https://github.com/kadirpekel/MapWithRoutes) – coffeemate

+0

"यहां" दोनों के लिंक जब मैं इस टिप्पणी को लिखते समय एक मिनट पहले क्लिक करता हूं तो काम नहीं कर रहा हूं। कृपया जांचें कि वे काम कर रहे हैं या नहीं और उन्हें अपडेट करें .. क्योंकि मैं वास्तव में उनमें से हूं ... – Nayan

+0

Google नक्शे का उपयोग करते हुए एपीआई केवल Google मानचित्र का उपयोग करते समय काम करता है, यह अब एक भरोसेमंद तरीका नहीं है क्योंकि आईओएस 5 इसे अनुमति नहीं देगा, बेहतर की आवश्यकता है विधियों। अगर कोई भी पाता है तो कृपया पोस्ट करें। –

8

मैं मूल रूप से कहने जा रहा था (और मुझे यकीन है कि अन्य इसे लाएंगे) कि Google मानचित्र के उपयोग के नियम कहते हैं कि यदि आप MapKit का उपयोग करने की योजना बनाते हैं तो आप दिशानिर्देशों का उपयोग नहीं कर सकते हैं। लेकिन फिर मैंने http://code.google.com/apis/maps/terms/iPhone.html को दोबारा जांच लिया और वास्तव में एक स्पष्ट प्रतिबंध नहीं मिला। अगर मैं इसे सही ढंग से समझता हूं, तो यह वास्तव में कहता है कि जब तक यह एक जीपीएस संचालित रीयलटाइम बारी-बारी-बारी कार्यक्षमता से जुड़ा हुआ है तब तक आप दिशानिर्देशों का उपयोग नहीं कर सकते। आपको अपने निर्णय का उपयोग करना चाहिए कि यह ठीक है या नहीं और क्या यह ऐपस्टोर पर स्वीकृति के आपके अवसर को प्रभावित करता है।

उद्देश्य-सी में वास्तविक डेटा प्राप्त करने के लिए, Google Ajax खोज प्रलेखन [http://code.google.com/apis/ajaxsearch/documentation/] विशेष रूप से फ्लैश और अन्य गैर-जावास्क्रिप्ट वातावरण के अंतर्गत अनुभाग को देखने का सबसे अच्छा तरीका है। यह एक विश्वसनीय API बताता है जहां आप Google को HTTP GET अनुरोध भेज सकते हैं और JSON डेटा वापस प्राप्त कर सकते हैं। यही एकमात्र तरीका है जिसे मैंने Google से प्रोग्रामेटिक डेटा प्राप्त किया है जो जावास्क्रिप्ट से जुड़ा नहीं है।

एक बार जब आप आमंत्रित करने के लिए उचित यूआरएल निकाल लेंगे तो आप पूरी चीज को ASIHTTPRequest कॉल में लपेट सकते हैं और परिणाम को JSON parser पर फ़ीड कर सकते हैं। ध्यान में रखना एक बात यह है कि रीस्टफुल एपीआई एक समय में केवल कुछ ही परिणाम (4 और 8 के बीच) देता है और आपको तब तक वापस जाना पड़ता है जब तक कि आपको पूरा डेटा न मिल जाए। एपीआई द्वारा दिए गए परिणामों की संख्या के लिए 64-आइटम कैप भी प्रतीत होता है, इसलिए कुछ जटिल किनारे-मामले प्रभावित हो सकते हैं।

+0

मुझे लगता है कि यह अजीब है कि वे दिशाओं को छोड़कर लगभग कुछ भी समर्थन करते हैं। ओह ठीक है, मुझे लगता है कि मैं वास्तविक Google मानचित्र ऐप के लिए आगे का उपयोग करने के बेहतर हूं। – Mark