2010-02-10 39 views
9

मैं कुछ Google मानचित्र कार्यक्षमता लिखने और जावास्क्रिप्ट बंद करने के साथ खेलना चाहता हूं ताकि मेरे कोड को बेहतर तरीके से व्यवस्थित और व्यवस्थित करने का प्रयास किया जा सके।क्या मैं Google मानचित्र फ़ंक्शंस को बंद कर सकता हूं?

var gmapFn ={ 
    init : function(){ 
     if (GBrowserIsCompatible()) { 
      this.mapObj = new GMap2($("#map_canvas")); 
      this.mapObj.setCenter(new google.maps.LatLng(51.512880,-0.134334),16); 
     } 
    } 
} 

तो मैं इसे बाद में एक jQuery दस्तावेज़ तैयार में फोन:

मैं निम्नलिखित कोड है

$(document).ready(function() { 
    gmapFn.init(); 
}) 

मैं गूगल मानचित्र कुंजी की स्थापना की और है, लेकिन मैं पर एक त्रुटि प्राप्त main.js:

न आया हुआ अपवाद: nsresult: "0x80004005 (NS_ERROR_FAILURE)" स्थान: "जे एस फ्रेम :: +०१२३५२८६५७०: [अपवाद ..." 0x80004005 (NS_ERROR_FAILURE) घटक विफलता कोड लौटाया ":: ig :: लाइन 170 "डेटा: कोई] QO()

त्रुटि GBrowserIsCompatible() परीक्षण है जो मैं beieve इस बंद का उपयोग करके मुझे नीचे है पर फेंक दिया जा रहा है, लगता है कि रखने के लिए एक रास्ता है यह एक बंद में और init() काम कर रहा है?

उत्तर

15

आपके कोड या कार्यान्वयन में कुछ भी गलत नहीं है, इस तथ्य को बचाएं कि जीएमएपी 2 संदर्भ के रूप में jQuery ऑब्जेक्ट का उपयोग नहीं कर सकता है। सादा पुराना document.getElementById("map_canvas") का प्रयोग करें।

वैकल्पिक रूप से, आप $("#map_canvas")[0] या $("#map_canvas").get(0) का उपयोग वास्तविक डोम तत्व को संदर्भित करने और GMap2 निर्माता है कि पारित अगर आप jQuery के आपके उपयोग के अनुरूप होना चाहते हैं।

संयोग से, आप v3 के साथ v2 मिश्रण कर रहे हैं, उदा। new google.maps.LatLng() बनाम new GLatLng()

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