2009-11-17 6 views
5

मैं पिछले सवाल पूछा पर एक नज़र लिया है जोड़े, लेकिन मैं काफी इसलिए यहाँ में इस फिट करने के लिए नहीं कर पा रहे है:गूगल मैप्स मानचित्र, तो स्टोर अक्षांश और देशांतर रूबी में ऑन रेल्स एक मार्कर

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

मैं जानना चाहता हूं कि इसके लिए सबसे अच्छा तरीका क्या होगा (जावास्क्रिप्ट के साथ मानचित्र जोड़ें?) लेकिन फिर जब मैं रेल पर रूबी के भीतर बटन दबाता हूं तो अक्षांश और देशांतर कैसे प्राप्त करूं?

मैं वास्तव में प्रासंगिक साइटों आदि के किसी भी सुझाव/लिंक की सराहना करता हूं, क्योंकि रेल वातावरण पर रूबी में काम करना मेरे लिए काफी नया है और मुझे यकीन नहीं है कि उपर्युक्त करने के बारे में कैसे जाना है।

धन्यवाद उन्नत

उत्तर

3

मुझे लगता है कि पहला कदम नक्शा के बिना आपके विचारों को काम करना होगा। लेट/लम्बे मैन्युअल रूप से दर्ज करें ताकि आप जान सकें कि आपके विचार और नियंत्रक काम कर रहे हैं। एक बार जब आप उस बिंदु तक पहुंच जाएंगे, तो Google Maps API documentation पर एक नज़र डालें। अपने दृश्य में एक नक्शा जोड़ें, marker जोड़ने का तरीका जानें। जब आप मार्कर जोड़ते/निकालते हैं तो आप जावास्क्रिप्ट के साथ अपने अक्षांश/लंबे इनपुट अपडेट कर सकते हैं (मैं व्यक्तिगत रूप से jQuery का उपयोग करता हूं)। इस बिंदु पर आप लेट/लम्बे इनपुट को छुपा या केवल पढ़ने के लिए बना सकते हैं - जब तक कि आपके उपयोगकर्ताओं को लेट/लम्बे मैन्युअल रूप से अपडेट करने का कोई कारण न हो।

एफवाईआई - Google मानचित्र एपीआई के वी 3 का उपयोग करने का सुझाव दे सकता है लेकिन जब मैंने इसका उपयोग करने की कोशिश की तो वहां बहुत सारे गायब टुकड़े थे। मैं वी 2 के साथ रहना होगा।

+0

धन्यवाद आपके सुझावों ने मुझे अपने मुद्दों को हल करने में मदद की – Erika

0

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

बस आपको सही दिशा में जाने में मदद करने के लिए।

4

यहाँ एक छोटी उदाहरण है:

your_page.html

<script src="http://maps.google.com/maps?file=api&amp;v=2&amp;key=xxx;hl=en" type='text/javascript'></script> 

<script type='text/javascript'>  
     var draggable_marker = null; 

     $(document).ready(function() { 
      if (GBrowserIsCompatible()) { 
      map = new GMap2(document.getElementById('map_div')); 
      map.addControl(new GSmallMapControl()); 

      draggable_marker = new GMarker(new GLatLng(42.6976489, 23.3221545), {draggable : true,title : "Place this marker to your location"); 

      GEvent.addListener(draggable_marker, 'dragend', function() { 
       RubyGmap.setPosition(draggable_marker); 
      }); 
      GEvent.addListener(map, 'click', function(overlay, latlng, overlaylatlng){ 
       RubyGmap.setMarkerPosition(draggable_marker, latlng); 
      }); 
      } 
     }); 
</script> 



<div id="map_div" style="width:690px;height:340px;" ></div> 

ruby_gmap.js

RubyGmap = {  
setPosition: function(marker) { 
    $('#latitude_field').val(marker.getLatLng().lat()); 
    $('#longitude_field').val(marker.getLatLng().lng()); 
}, 
setMarkerPosition: function(marker, latlng) { 
    SELECTED = true; 
    map.addOverlay(marker); 
    marker.setLatLng(latlng); 
    RubyGmap.setPosition(marker); 
} 
} 
0

आप Goog उपयोग करने के लिए कोशिश कर रहे हैं ली रेल एपीआई में से एक में ली मैप्स एपीआई, तो मैं YM4R plugin का उपयोग करने की अत्यधिक अनुशंसा करता हूं। प्लगइन Google मानचित्र एपीआई का एक अच्छा रूबी-अनुकूल वस्तु encapsulation प्रदान करता है। README in the Rdoc में नक्शा प्रदर्शित करने और एक या अधिक मार्कर प्रदर्शित करने के तरीके के बारे में बहुत अच्छा नमूना कोड है।

प्लगइन का उपयोग करने का बड़ा लाभ यह है कि प्लगइन माणिक वस्तुओं के पीछे पूरे GMaps एपीआई सार ताकि आप बना सकते हैं और केवल रूबी कोड का उपयोग कर मानचित्र में जोड़ सकते है। आपको कोई जावास्क्रिप्ट लिखना नहीं होगा ...जब तक आप करना चाहते हैं;)

0

नक्शानवीस प्लगइन रेल 3+ का समर्थन करता है,

यह दिया मार्करों और समूहों

की भारी कट्टरपंथी घुड़दौड़ का घोड़ा के लिए काम करने के लिए फिर से लिखा गया है यह पटरियों में गूगल मैप्स v3 के दर्द रहित एकीकरण का समर्थन करता है , http://grati.la/cartorbflw

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