2011-08-21 23 views
5

मैं वेब ऐप बनाने की कोशिश कर रहा हूं जहां आप अपना पता इनपुट करते हैं और यह आपको आपके क्षेत्र में बस स्टॉप की सूची देगा। मैं इसके लिए Google मानचित्र का उपयोग करना चाहता हूं, लेकिन मुझे इसके लिए उपयोग करने का तरीका नहीं मिल रहा है। मानचित्र पर बिंदुओं की सूची प्राप्त करने का कोई तरीका है, कहें, जेएसओएन या एक्सएमएल प्रारूप? मैंने Google मानचित्र स्थान API की कोशिश की, लेकिन यह इस तरह से काम नहीं किया। केवल एक चीज जो मैंने पाया वह यह उदाहरण है - http://gmaps-samples-v3.googlecode.com/svn/trunk/localsearch/places.html लेकिन मुझे वह नहीं चाहिए जो मुझे चाहिए।Google मानचित्र से बस स्टॉप की सूची

तो, कोई जानता है?

उत्तर

1

आप इसके लिए Google Fusion Tables का उपयोग कर सकते हैं। हालांकि, आपको डेटा खुद दर्ज करना होगा, जब तक कि कोई और पहले से ही इसमें प्रवेश नहीं कर लेता है। Google मानचित्र API Google फ्यूजन टेबल्स का समर्थन करता है।

+0

के आसपास ऐप बनाने के साथ सही हैं, वैसे यह मेरी जरूरत के विपरीत है। यह डेटा -> मानचित्र पर बिंदु है, लेकिन मुझे gmap -> डेटा पर बिंदु चाहिए :) लेकिन इस परियोजना के बारे में टिप के लिए धन्यवाद। – Pirozek

+0

आपके जैसे डेटा की आवश्यकता है ("क्या नक्शे पर बिंदुओं की सूची पाने का कोई तरीका है, कहें, जेएसओएन या एक्सएमएल प्रारूप?")। यदि आपके पास पहले से डेटा है और इसे जेसन या एक्सएमएल में निर्यात करने की आवश्यकता है जो कि सरल होगा? या शायद मैं पढ़ने के लिए बहुत थक गया हूँ :) – johansalllarsson

+0

ठीक है, शायद मैंने इसे गलत लिखा था। मुझे gmap से डेटा प्राप्त करने की आवश्यकता है। मेरे पास केवल पता है और मुझे उस पते के पास बस स्टॉप की सूची प्राप्त करने की आवश्यकता है – Pirozek

2

यह ऐसी सेवा नहीं है जो Google प्रदान करता है। उनके पास निश्चित रूप से रिकॉर्ड पर आवश्यक सभी चीजें हैं, लेकिन वे आंतरिक रूप से उनकी सभी गणना करते हैं।

एक विकल्प (जो थोड़ा मुश्किल हो सकता है) मेरे बस स्टॉप स्थानों के लिए सार्वजनिक परिवहन कार्यक्रमों के लिए है। यदि आपके पास एक छोटा सा क्षेत्र (यानी एक शहर) है तो यह एक विकल्प हो सकता है कि आपका वेब ऐप समर्थन करना है। यह जोखिम भरा है क्योंकि यदि पृष्ठ बदलते हैं तो आपको डेटा खनन एप्लिकेशन को फिर से कॉन्फ़िगर करना होगा, लेकिन आपको अभी भी Google (या कहीं और) से डेटा को खनन करने की कोशिश करने में एक ही समस्या होगी - यदि आप को ढूंढ सकते हैं स्थानों के साथ बस स्टॉप सूची प्राप्त करें और इसके आस-पास अपना ऐप बनाएं, यह किसी भी समय बदल सकता है और आपका एप्लिकेशन तोड़ सकता है।

+0

मैं कार्यक्रम की आवश्यकता नहीं है मदद कर सकते हैं, बस बस अपने अक्षांश और एलएनजी के साथ बंद हो जाता है। मेरे पास शेड्यूल के लिए एक और ऐप है, लेकिन मैं सभी बस स्टॉप मैनुअल को बंद नहीं करना चाहता हूं :) लेकिन आप खनन नरम – Pirozek

1

Google स्थल API में वहां पर जानकारी रोक दी गई है लेकिन आपको इसे काम करने के लिए विशेष रूप से अपनी क्वेरी बनाने की आवश्यकता है।

कुंजी के साथ rankby = दूरी और त्रिज्या = और प्रकार = bus_station

डिफ़ॉल्ट rankby प्रमुखता शायद ही कभी बस स्टेशनों से पता चलता पास के खोज का उपयोग कर रहा है।

नमूना क्वेरी:

https://maps.googleapis.com/maps/api/place/nearbysearch/json?location=49.89458,-97.14137&sensor=true&key=your_key&rankby=distance&types=bus_station

+1

यह केवल बस स्टेशनों के लिए है, मुझे लगता है कि बस स्टॉप नहीं है। इस बारे में पूरी तरह से यकीन नहीं है कि –

+0

ऐसा लगता है कि यह बस स्टॉप के लिए भी काम नहीं कर रहा है ... हम देखेंगे ... –

+1

संपादित करें: नहीं, केवल बस स्टेशन। बस बंद नहीं है। हालांकि कुछ भी नहीं से बेहतर है –

0

मुझे लगता है कि आप

<script> 
    // This example requires the Places library. Include the libraries=places 
    // parameter when you first load the API. For example: 
    // <script src="https://maps.googleapis.com/maps/api/js?key=YOUR_API_KEY&libraries=places"> 

    var map; 
    var infowindow; 

    function initMap() { 
    var pyrmont = {lat: 38.06908229560463, lng: 46.31730562744135}; 

    map = new google.maps.Map(document.getElementById('map'), { 
     center: pyrmont, 
     zoom: 15 
    }); 

    infowindow = new google.maps.InfoWindow(); 
    var service = new google.maps.places.PlacesService(map); 
    service.nearbySearch({ 
     location: pyrmont, 
     radius: 1000, 
     types: ['bus_station','transit_station'] 

    }, callback); 
    } 

    function callback(results, status) { 
    if (status === google.maps.places.PlacesServiceStatus.OK) { 
     for (var i = 0; i < results.length; i++) { 
     createMarker(results[i]); 
     } 
    } 
    } 

    function createMarker(place) { 
    var placeLoc = place.geometry.location; 
    var marker = new google.maps.Marker({ 
     map: map, 
     position: place.geometry.location 
    }); 

    google.maps.event.addListener(marker, 'click', function() { 
     infowindow.setContent(place.name); 
     infowindow.open(map, this); 
    }); 
    } 
</script>