मैं GoogleMaps API v3.0 का उपयोग कर रहा हूं और मेरे डेटाबेस में दिशा-निर्देश सहेजने की कोशिश कर रहा हूं और फिर इसे मानचित्र पर उपयोग करने के लिए पुनः प्राप्त कर रहा हूं। मेरी समस्या यह है कि जब मैं अपने डेटाबेस से अपने JSON प्रस्तुति को खींचकर सहेजे गए ऑब्जेक्ट को फिर से हाइड्रेट करने का प्रयास करता हूं, तो ऑब्जेक्ट सिर्फ जेएसओएन गूंगा है, इसकी मूल विधियों और उसके घटक ऑब्जेक्ट्स के फ़ंक्शन नहीं हैं। इसलिए, मैंने एक फिक्स रूटीन बनाया जो डंबल्ट टेक्स्ट जेएसओएन लेता है और सभी LatLng और LatLngBound ऑब्जेक्ट्स को पुनर्निर्माण करके इसे पुनर्निर्माण करता है। लेकिन, कुछ अभी भी गायब है क्योंकि मेरी निश्चित वस्तु मूल की तरह काम नहीं करती है, मेरे नक्शे पर दो बिंदु दिखाई देते हैं लेकिन उनके बीच बैंगनी रेखा गायब है।GoogleMaps दिशाओं को Deserialize नहीं कर सकते हैं ऑब्जेक्ट
सीरियलाइजेशन/हाइड्रेशन या किसी भी विचार के लिए किसी भी सलाह के बारे में किसी भी सलाह की सराहना करेंगे कि मेरी फिक्स रूटीन क्या हो सकती है।
धन्यवाद
request = {
origin: homeLocation,
destination: jobLocation,
travelMode: google.maps.DirectionsTravelMode.DRIVING
};
directionsService.route(request, function(response, status) {
if (status == google.maps.DirectionsStatus.OK) {
var str = Ext.encode(response); //<<==SAVING RAW JSON OBJECT TO DB (I USE ExtJs)
var z = eval('(' + str + ')'); //<<==REHYDRATING DirectionsResult RAW JSON OBJECT
FixDirectionResult(z); //<<==ATTEMPT TO RE-ESTABLISH ORIGINAL OBJECTS
directionsRenderer.setDirections(z); //<<==THIS WORKS WITH response BUT NOT WITH z
}
);
function FixDirectionResult(rslt) {
for(r=0; r<rslt.routes.length; r++) {
var route = rslt.routes[r];
var bounds = route.bounds;
route.bounds = new google.maps.LatLngBounds(
new google.maps.LatLng(bounds.U.b,bounds.O.d),
new google.maps.LatLng(bounds.U.d,bounds.O.b));
for(l=0; l<route.legs.length;l++) {
var leg = route.legs[l];
leg.start_location = new google.maps.LatLng(leg.start_location.wa,leg.start_location.ya);
leg.end_location = new google.maps.LatLng(leg.end_location.wa,leg.end_location.ya);
for(s=0; s<leg.steps.length;s++) {
var step = leg.steps[s];
step.start_location =
new google.maps.LatLng(step.start_location.wa,step.start_location.ya);
step.end_location =
new google.maps.LatLng(step.end_location.wa,step.end_location.ya);
for(p=0;p<step.path.length;p++) {
var path=step.path[p];
step.path[p] = new google.maps.LatLng(step.path.wa,step.path.ya);
}
}
}
for(o=0; o<route.overview_path.length;o++) {
var overview = route.overview_path[o];
route.overview_path[o] = new google.maps.LatLng(overview.wa,overview.ya);
}
}
}
अगर कोई रुचि है, मैं भी गूगल मैप्स मंच को यह प्रश्न के रूप में अच्छी तरह से पोस्ट किया है: https://groups.google.com/d/topic/google-maps-js-api-v3/Ai1bZIVgfzo/चर्चा – sisdog