2015-03-01 8 views
13

के साथ एक्सकोड पर स्वत: पूर्ण जोड़ने के लिए Google स्थानों को कैसे जोड़ना है, मैं तेजी से एक्सकोड के लिए Google स्थानों को स्वत: पूर्ण जोड़ना चाहता हूं, इसलिए उपयोगकर्ता एक शहर पर खोज सकते हैं और एंटर दबा सकते हैं, इसलिए ऐप मानचित्र पर उस शहर को दिखाएगा।स्विफ्ट (ट्यूटोरियल)

मैं गूगल मैप्स का उपयोग कर, तो यह है कि नक्शे और खोज पट्टी मैं नवी बार (सिर्फ नक्शा ऊपर) में करना चाहते हैं से जुड़े होने की है

किसी को भी एक अच्छा ट्यूटोरियल पता है ऐसा करने के लिए??

उत्तर

7

बिल्कुल ट्यूटोरियल नहीं हैं, लेकिन जीथ्यूब पर कुछ संसाधन हैं, जो लोग आपसे पूछ रहे हैं कि प्राप्त करने के लिए पुस्तकालयों और कोड नमूने प्रदान करते हैं।

  • SPGooglePlacesAutocomplete (https://github.com/spoletto/SPGooglePlacesAutocomplete) बहुत लोकप्रिय है और कई विशेषताएं है, लेकिन यह ऑब्जेक्टिव-सी में लिखा है
  • आईओएस Google स्थल स्वत: पूर्ण (https://github.com/watsonbox/ios_google_places_autocomplete) और हाल ही में है, स्विफ्ट में लिखा है, और भी कुछ उदाहरण हैं।
  • दूसरों के बहुत सारे ...

भी उचित ट्यूटोरियल के बिना, आप अभी भी बाहर इन पुस्तकालयों की जाँच करें और समझ कैसे अपने कोड कुछ प्रेरणा प्राप्त करने के लिए करता है, तो आप अपने खुद के घटकों लिखना चाहते हैं काम करता है सकते हैं।

एक sidetone के रूप में, गूगल ने भी इस पेज है, लेकिन यह iOS एप्लिकेशन के लिए एक समर्पित ट्यूटोरियल, बस कैसे अपने एपीआई काम करता है की कुछ उपयोगी स्पष्टीकरण नहीं है: https://developers.google.com/places/documentation/autocomplete#examples

+0

मैं उन्हें दोनों जानता हूं, लेकिन पहला व्यक्ति उद्देश्य सी में है और मैं इसे बदलने के लिए कोई विचार नहीं है। –

+0

दूसरा दूसरा विफल रहता है –

+0

मैं इस परियोजना पर दूसरे नंबर का उपयोग कर रहा हूं जिसमें फिलहाल कोई समस्या नहीं है। –

3

यहाँ एक tutorial मैं जो भर में आया है पर आधारित है मेरी ios_google_places_autocomplete कोड।

@Frederik: यदि आपको लाइब्रेरी में कोई समस्या है, तो कृपया create an issue इसका वर्णन करें।

5

आप Google के साथ प्लेस एपीआई के लिए स्वत: पूर्णता को लागू करने के आवरण के लिए एक कोशिश कर सकते हैं:

https://github.com/mrugrajsinh/MVAutocompletePlaceSearchTextField

इसका बहुत सरल ड्रॉप-में नियंत्रण और UITextField के उपवर्ग इसलिए का उपयोग कर सरल के साथ कक्षा जुड़ कर UITextField आप उबर और कई लोकप्रिय ऐप करता है जैसे ऑटो पूर्णता ड्रॉपडाउन को प्राप्त कर सकते हैं।

+1

यह लाइब्रेरी स्विफ्ट के लिए काम नहीं करती है। इसे देखें: http://stackoverflow.com/questions/34060166/im-using-a-google-maps-autocomplete-wrapper-but-im-failing-to-conform-to-a-de – Aliens

+0

इसे महसूस करने से पहले इसे इंस्टॉल किया गया तेजी से – Anconia

0

चूंकि सवाल पूछा गया था, Google ने इस प्रकार के वर्कफ़्लो के लिए आईओएस एसडीके में यूआई तत्व जोड़े हैं। documentation देखें।

1

इस नवीनतम रेपो का उपयोग करें। स्विफ्ट 2.0

बस प्रोजेक्ट की ज़िप फ़ाइल डाउनलोड करें और खुली पॉड फ़ाइल डाउनलोड करें और पॉड 'GoogleMaps' लिखें और इसे टर्मिनल खोलें और पॉड इंस्टॉल करें।

आनंद लें !!!

RKAutoCompletePlaceSearch

0

किसी को भी सोचने के लिए हे मेरे आईओएस ऐप में Google मानचित्र एपीआई लागू करने देता है। यह बहुत मजेदार और आसान है ... एक बड़ी कमी है।

The Google Places API for iOS enforces a default limit of 1 000 requests per 24 hour period. If your app exceeds the limit, the app will start failing. Enable billing to get 150 000 requests per 24 hour period.

आपको कितनी जल्दी लगता है कि सीमा मुफ्त या फ्रीमियम ऐप में पहुंच जाएगी? उस हिस्से से प्यार करें जहां वे कहते हैं कि आपका ऐप असफल हो जाएगा।

ध्यान से usage and terms of service पढ़ें।

+0

के लिए काम नहीं करता है यह ध्यान दिया जाना चाहिए कि जब तक आप प्रति घंटे 24,000 से अधिक अनुरोधों तक 150,000 से अधिक अनुरोध नहीं करते हैं तब तक आपसे शुल्क नहीं लिया जाएगा। आपको केवल 1,000 से 150,000 तक मुफ्त सीमा बढ़ाने के लिए सत्यापित करने के लिए क्रेडिट कार्ड में प्लॉप करना है। या कम से कम यह है कि मैं इसे कैसे समझता हूं। – Josh

6

स्विफ्ट 3 के लिए:

1- आपके podfile और प्रकार का चयन करें: GMSPlacesClient.provideAPIKey("YOUR KEY") (आयात GooglePlaces)

: फली 'GooglePlaces'

2- AppDelegate में, अपने API कुंजी जोड़ना 3- इस कोड का उपयोग अपने दृश्य में करें नियंत्रक जिसमें GoogleMap:

// This code snippet demonstrates adding a 
// full-screen Autocomplete UI control 

import UIKit 
import GooglePlaces 

class ViewController: UIViewController { 

    // TODO: Add a button to Main.storyboard to invoke onLaunchClicked. 

    // Present the Autocomplete view controller when the button is pressed. 
    @IBAction func onLaunchClicked(sender: UIButton) { 
    let acController = GMSAutocompleteViewController() 
    acController.delegate = self 
    present(acController, animated: true, completion: nil) 
    } 
} 

extension ViewController: GMSAutocompleteViewControllerDelegate { 

    // Handle the user's selection. 
    func viewController(_ viewController: GMSAutocompleteViewController, didAutocompleteWith place: GMSPlace) { 
    print("Place name: \(place.name)") 
    print("Place address: \(place.formattedAddress)") 
    print("Place attributions: \(place.attributions)") 
    dismiss(animated: true, completion: nil) 
    } 

    func viewController(_ viewController: GMSAutocompleteViewController, didFailAutocompleteWithError error: Error) { 
    // TODO: handle the error. 
    print("Error: \(error)") 
    dismiss(animated: true, completion: nil) 
    } 

    // User cancelled the operation. 
    func wasCancelled(_ viewController: GMSAutocompleteViewController) { 
    print("Autocomplete was cancelled.") 
    dismiss(animated: true, completion: nil) 
    } 
} 
+0

लाइन 'acController.delegate = self' कि त्रुटि दे: _Cannot प्रकार का मान असाइन 'MyController' टाइप करने के लिए _ – NEOline

+0

त्रुटि ऊपर हल 'GMSAutocompleteViewControllerDelegate?': भूल से विस्तार नाम बदलने: ' विस्तार ViewController: GMSAutocompleteViewControllerDelegate { ' से 'एक्सटेंशन MyController: GMSAutocompleteViewControllerDelegate {' – NEOline

+0

सरल और मीठा उत्तर। –

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