मैं Google की DistanceMatrixService के साथ थोड़ा सा खेल रहा हूं। नीचे दिया गया कोड काम करता है, लेकिन, मैं कॉलबैक फ़ंक्शन में एक और पैरामीटर कैसे पास कर सकता हूं या कॉलबैक से मूल्यों में से एक को कैसे पकड़ सकता हूं?कॉलबैक के लिए जावास्क्रिप्ट पास पैरामीटर या दूरी मैट्रिक्सस्टैटस में वैरिएबल वैल्यू सेट करें
उदाहरण के लिए: मैं दो divs है कि मैं (Results1 और Results2) में विभिन्न परिणाम दिखाने के लिए चाहते हैं, तो मैं सोच रहा हूँ मैं या तो
GoogleMapDistance (YourLatLong, DestLatLong तरह GoogleMapDistance कार्य करने के लिए एक और मूल्य पारित करने के लिए की जरूरत है, TheDiv)
या
कॉलबैक दस्तावेज़.getElementById ("परिणाम 1") के बाहर बाहरी रूप से परिणाम Str को पकड़ने में सक्षम हो। आंतरिक HTML = परिणाम Str;
या
फ़ंक्शन दस्तावेज़ के लौटे हुए मूल्य पर आंतरिक एचटीएम सेट करें .getElementById ("परिणाम 1")। आंतरिक HTML = GoogleMapDistance (YourLatLong, DestLatLong);
मैं अटक गया हूँ। मैं इसे कैसे पूरा कर सकता हूं? जिस तरह से यह अभी दिखता है वह यह है कि मैं केवल एक बार इस कोड को चलाने में सक्षम होने जा रहा हूं और इसे केवल एक div को लिख सकता हूं।
<div id="Results1"></div>
<div id="Results2"></div>
<script src="https://maps.googleapis.com/maps/api/js?v=3.exp&sensor=false"></script>
<script>
function GoogleMapDistance(YourLatLong,DestLatLong)
{
var service = new google.maps.DistanceMatrixService();
service.getDistanceMatrix(
{
origins: [YourLatLong],
destinations: [DestLatLong],
travelMode: google.maps.TravelMode.DRIVING,
unitSystem: google.maps.UnitSystem.IMPERIAL,
avoidHighways: false,
avoidTolls: false
}, callback);
}
function callback(response, status)
{
if (status == google.maps.DistanceMatrixStatus.OK)
{
var origins = response.originAddresses;
var destinations = response.destinationAddresses;
for (var i = 0; i < origins.length; i++)
{
var results = response.rows[i].elements;
for (var j = 0; j < results.length; j++)
{
var element = results[j];
var from = origins[i];
var to = destinations[j];
var distance = element.distance.text;
var duration = element.duration.text;
var ResultStr = distance + " (<i>" + duration + "</i>)";
}
}
document.getElementById("Results1").innerHTML = ResultStr;
}
}
var YourLatLong = "45.4049,-122.797997";
var DestLatLong1 = "47.468893,-122.227978";
var DestLatLong2 = "61.221274,-149.831545";
GoogleMapDistance(YourLatLong,DestLatLong1);
</script>
धन्यवाद! मैं आपके पहले समाधान के साथ गया था। यह बहुत अच्छा काम करता है। – Soren
यदि मुझे आपके पहले विकल्प में इस कॉलबैक (प्रतिक्रिया, स्थिति, आइटम) के शरीर में कोई अन्य कॉलबैक 'आइटम (some_arg)' के रूप में नहीं जोड़ा जाएगा, तो क्या यह नहीं है? – SASM