2012-04-20 21 views
5

मैं वर्तमान में मेरे मौसम वेबसाइट के लिए एक नई प्रणाली का उपयोग कर रहा हूँ की '__e3_' पढ़ा नहीं जा सकता है और मैं निम्नलिखित त्रुटि हो रही है:गूगल मैप्स एपीआई: Uncaught TypeError: गुण अपरिभाषित

Uncaught TypeError: Cannot read property '__e3_' of undefined 

Xe%7Bmain,places,weather%7D.js:18 
Ve%7Bmain,places,weather%7D.js:21 
P.addListener%7Bmain,places,weather%7D.js:18 
T.(anonymous function).bindTo%7Bmain,places,weather%7D.js:27 
initializejavascript.js:109 
(anonymous function)javascript.js:4 
f.Callbacks.ojquery.min.js:2 
f.Callbacks.p.fireWithjquery.min.js:2 
e.extend.readyjquery.min.js:2 
c.addEventListener.B 

यहाँ में सामग्री दी गई है मेरी javascript.js फ़ाइल जो मैं अपने header.php (<script src="javascript.js" type="text/javascript"></script>) में शामिल हैं:

$(document).ready(function() { 
    initialize(); 
}); 

var elevator; 
var geocoder; 
var map; 

function initialize() { 

    // KONFIGURATION: Geocoding 
    geocoder = new google.maps.Geocoder(); 

    // KONFIGURATION: Filnamn 
    var weatherdata = 'fetch-information/fetch-weatherdata.php'; 

    // KONFIGURATION: Datum 
    var date = new Date(); 
    var datetime = date.getFullYear() + '-' + 
        (date.getMonth() < '10' ? '0' + date.getMonth() : date.getMonth()) + '-' + 
        (date.getDay() < '10' ? '0' + date.getDay() : date.getDay()) + ', ' + 
        (date.getHours() < '10' ? '0' + date.getHours() : date.getHours()) + ':' + 
        (date.getMinutes() < '10' ? '0' + date.getMinutes() : date.getMinutes()) + ':' + 
        (date.getSeconds() < '10' ? '0' + date.getSeconds() : date.getSeconds()); 

    // KONFIGURATION: Hämta adress 
    var address = 'Karlstad, Sverige'; 

    // KONFIGURATION: Inställningar för kartan 
    var myOptions = { 
     streetViewControl: false, 
     overviewMapControl: true, 
     zoom: 14, 
     mapTypeId: google.maps.MapTypeId.ROADMAP 
    }; 


    // MOLNAKTIVITET 
    var cloudLayer = new google.maps.weather.CloudLayer(); 
    cloudLayer.setMap(map); 



    /********************************************** 
    ** THE CODE BELOW IS CAUSING THE ERROR ** 
    **********************************************/ 

    // HÖJD ÖVER/UNDER HAVSYTAN 
    elevator = new google.maps.ElevationService(); 
    google.maps.event.addListener(map, 'click', getElevation); 


    /* ** ** ** ** ** */ 


    // GOOGLE PLACES API 
    var input = document.getElementById('googlemaps-search'); 
    var autocomplete = new google.maps.places.Autocomplete(input); 

    autocomplete.bindTo('bounds', map); 
    google.maps.event.addListener(autocomplete, 'place_changed', function() { 
     var place = autocomplete.getPlace(); 
     alert(place.geometry.location); 
    }); 

    /********************************************** 
    ** THE CODE ABOVE IS CAUSING THE ERROR ** 
    **********************************************/ 



    /* ** ** ** ** ** */ 


    // GEOCODING 
    geocoder.geocode({'address' : address}, function(results, status) { 

     // KONTROLL 
     if(status == google.maps.GeocoderStatus.OK) { 

      // KONFIGURATION: Ta bort (och) före och efter koordinaterna 
      var old_latlong = '' + results[0].geometry.location + ''; 
      var new_latlong = old_latlong.substring(1, old_latlong.length - 1).replace(' ', ''); 

      // CENTERRING 
      map.setCenter(results[0].geometry.location); 

      // MARKERING: Adress 
      var marker = new google.maps.Marker({ 
       map: map, 
       position: results[0].geometry.location 
      }); 

      // AJAX: Hämta den angivna filen 
      $.ajax({ 
        url: weatherdata + '?coordinates=' + new_latlong, 

        success: function() { 
             console.log(datetime + ': Hämtningen av väderprognosen och den övriga informationen lyckades'); 
             $('.content-search').show(); 
             $('#load-weather').load(weatherdata + '?coordinates=' + new_latlong); 
             }, 

        error: function() { 
             console.error(datetime + ': Hämtningen av väderprognosen och den övriga informationen misslyckades'); 
             $('#load-weather').hide(); 
             $('.content-search').hide(); 
             $('#message-error').show(); 
             } 
        }); 


     // KONTROLL 
     } else { 

      // FELMEDDELANDE 
      alert('Kunde inte hämta data på grund av följande fel: ' + status); 
     } 

    }); 


    /* ** ** ** ** ** */ 


    // KARTA 
    var map = new google.maps.Map(document.getElementById('weather-map'), myOptions); 

} 



/** ** ** ** ** ** ** ** ** ** ** ** **/ 



function getElevation(event) { 
    var locations = []; 
    var clickedLocation = event.latLng; 
    locations.push(clickedLocation); 

    var positionalRequest = { 
     'locations': locations 
    } 

    elevator.getElevationForLocations(positionalRequest, function(results, status) { 
     if(status == google.maps.ElevationStatus.OK) { 
      var s = results[0].elevation; 

      if(results[0]) { 
       if(('' + parseInt(s)).charAt(0) == '-') { 
        $('#elevation').html('Cirka ' + number_format(('' + parseInt(s)).substring(1)) + ' meter under havsytan'); 
       } else { 
        $('#elevation').html('Cirka ' + number_format(parseInt(s)) + ' meter över havsytan'); 
       } 
      } else { 
       alert('Inget resultat hittades'); 
      } 
     } else { 
      alert('Det gick inte att hitta höjdskillnaden på grund av följande: ' + status); 
     } 
    }); 
} 
समस्या

कि प्रणाली मेरे पिछले प्रणाली में के रूप में काफी एक ही है और मैं एक ही "कोड संरचना" उन दोनों को और अभी भी पर है मुझे यह त्रुटि मिल रही है नई प्रणाली पर संदेश। मुझे नहीं पता कि मुझे यह क्यों मिल रहा है इसलिए मैं आपको पूछ रहा हूं: मैं अपनी समस्या को कैसे ठीक कर सकता हूं?

अग्रिम धन्यवाद।

उत्तर

8

जब मैंने नक्शा परिभाषा को चिह्नित बग्गी कोड से पहले एक बिंदु पर ले जाया, तो यह काम करता था। मैंने मानचित्र विकल्पों के ठीक बाद var map = new google.map.Map जोड़ा।

var myOptions = { 
    streetViewControl: false, 
    overviewMapControl: true, 
    zoom: 14, 
    mapTypeId: google.maps.MapTypeId.ROADMAP 
}; 

var map = new google.maps.Map(document.getElementById('weather-map'), myOptions); 

// MOLNAKTIVITET 
var cloudLayer = new google.maps.weather.CloudLayer(); 
cloudLayer.setMap(map); 



/********************************************** 
** THE CODE BELOW IS CAUSING THE ERROR ** 
**********************************************/ 

// HÖJD ÖVER/UNDER HAVSYTAN 
elevator = new google.maps.ElevationService(); 
google.maps.event.addListener(map, 'click', getElevation); 
+0

बहुत धन्यवाद! ^^ – Erik

+0

आशा है कि आपकी परेशानी का समाधान होगा। मैंने स्थान और अजाक्स बंद कर दिया ताकि कृपया जांचें कि वे सही तरीके से काम कर रहे हैं। –

+0

आपके उत्तर ने मेरी समस्या हल की है इसलिए एक बार फिर धन्यवाद :) – Erik

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