2015-06-22 11 views
5

के साथ देशांतर और अक्षांश के चर के लिए चर का उपयोग करना मैंने अभी ब्राउज़र के लिए Google मानचित्र API का उपयोग करना शुरू कर दिया है, लेकिन जब मैं सीधे संख्याओं की बजाय अक्षांश/अक्षांश स्थानों में चर डालता हूं तो मुझे यह काम नहीं मिल रहा है ।Google नक्शे api

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

यह चर के साथ काम नहीं करता है लेकिन यदि आप फ़ंक्शन में चरों को चर में बदलते हैं तो यह पूरी तरह से काम करता है।

हाँ मुझे पता है कि मुझे अपनी एपीआई कुंजी पोस्ट नहीं करनी चाहिए, लेकिन यह एक है जिसे मैं परीक्षण के लिए ऑफ अकाउंट पर उपयोग करता हूं और मैं इसे हटा दूंगा।

function initialize() { 
 
     var userLng = $('#lng').val(); 
 
\t var userLat = $('#lat').val(); 
 
    
 
\t var mapOptions = { 
 
\t  center: { lat: userLat, lng: userLng }, 
 
\t  zoom: 8 
 
\t }; 
 
\t var map = new google.maps.Map(document.getElementById('map-canvas'), mapOptions); 
 
} 
 

 
google.maps.event.addDomListener(window, 'load', initialize);
#map-canvas { 
 
    height: 30em; 
 
    width: 30em; 
 
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<script src="https://maps.googleapis.com/maps/api/js?key=AIzaSyCgxY6DqJ4TxnRfKjlZR8SfLSQRtOSTxEU"></script> 
 
<form> 
 
    <input type="text" id="lng" name="lng" value="30"> 
 
    <input type="text" id="lat" name="lat" value="40"> 
 
</form> 
 

 
<div id="map-canvas"></div>

उत्तर

10

आप तार का उपयोग कर रहे, तैरता के साथ प्रयास करें:

var userLng = parseFloat($('#lng').val()); 
var userLat = parseFloat($('#lat').val()); 
var mapOptions = { 
     center: { lat: userLat, lng: userLng }, 
     zoom: 8 
    }; 
+0

सही जवाब! यही समस्या है। यह थोड़ा तेज़ है कि केवल '+ 'के साथ कनवर्ट करना है - उदा। 'userLng = + $ ('# lng')। val()' – Adam

2

आप parseFloat() अपने इनपुट मानों, तुम नहीं स्ट्रिंग की जरूरत है shuld संख्या।

function initialize() { 
 
     var userLng = parseFloat($('#lng').val()); 
 
\t var userLat = parseFloat($('#lat').val()); 
 
    
 
\t var mapOptions = { 
 
\t  center: { lat: userLat, lng: userLng }, 
 
\t  zoom: 8 
 
\t }; 
 
\t var map = new google.maps.Map(document.getElementById('map-canvas'), mapOptions); 
 
} 
 

 
google.maps.event.addDomListener(window, 'load', initialize);
#map-canvas { 
 
    height: 30em; 
 
    width: 30em; 
 
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<script src="https://maps.googleapis.com/maps/api/js?key=AIzaSyCgxY6DqJ4TxnRfKjlZR8SfLSQRtOSTxEU"></script> 
 
<form> 
 
    <input type="text" id="lng" name="lng" value="30"> 
 
    <input type="text" id="lat" name="lat" value="40"> 
 
</form> 
 

 
<div id="map-canvas"></div>

संपादित करें, sr parseFloat नहीं parseInt

+0

अक्षांश और अक्षांश पूर्णांक का टुपल नहीं है। वे फ़्लोटिंग पॉइंट समन्वय कर रहे हैं। –

+0

हां मैंने अपने कोड से अनैच्छिक रूप से विश्लेषण किया है, मैंने इसे तुरंत बदल दिया – Griva

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