2016-07-08 18 views
0

Ich habe zwei Websites, die im Wesentlichen die gleiche Sache tun - nehmen Sie Adressen und legen Sie sie in einer Datenbank. Beide Websites scheinen den gleichen Code zu haben. Aber eine Seite wirft den MissingKeyMapError und die andere nicht. Ich sehe keinen großen Unterschied zwischen den beiden. Kann mir bitte jemand helfen?Google Geocoder werfen MissingKeyMapError auf einer Seite, aber nicht eine andere

First Website jquery:

var latlong = []; 
//addresses is a long array made up of addresses such as 
//"1056 BRUSHTON AVE, Pittsburgh" 
var geocoder = new google.maps.Geocoder(); 
$(document).ready(function() { 
    var count = 23963; //the record number in the database 
    setInterval(function(){ 
     if (addresses.length > 0) { 
      for (var i=0; i< 11; i++) { //limit of 11 at a time so don't overwhelm API 
       var address = addresses[i]; 
       count++; 
       locate(address, count); 
      } 
      addresses.splice(0, 11); //go to the next 11 addresses 
     } else { 
      clearInterval(); 
     } 
    }, 30000); 
}); 

function locate(address, count) { 
    geocoder.geocode({ 'address': address}, function(results, status) { 

     if (status == google.maps.GeocoderStatus.OK) { 
     var lat = results[0].geometry.location.lat(); 
     var lng = results[0].geometry.location.lng(); 
     $.post('php/push_latlng.php', {address: address, lat: lat, lng: lng, count:count },function(){ 
       //put it in the database 
     }); 
     } 

    }); 
} 

Zweite Webseite jquery:

var latlong = []; 
var geocoder = new google.maps.Geocoder(); 
$(document).ready(function() { 
    $.post('php/get_address.php', function(addresses){ 
    //get addresses out of the database and turn them into json    
    var obj = jQuery.parseJSON(addresses); 
      //addresses are in the format "1800 Mulberry St, Scranton, PA" 
      for (var i = 0; i< 2; i++) { //arbitrary small number 
       var medID = obj[i].medID; 
       var address = obj[i].address; 
       locate(address, medID); 
      } 
    }); 

}); 
function locate(address, medID) { 
    geocoder.geocode({ 'address': address}, function(results, status) { 
     }); 
} 

Die zweite Seite dieser Fehler führt: js Sensor = false: 32 Google Maps-API-Fehler: MissingKeyMapError https://developers.google.com/maps/documentation/javascript/error-messages#missing-key-map-error

Wer weiß, was ich falsch mache?

+0

Ich habe beide diese Seiten jetzt im selben Verzeichnis - der gleiche Fehler. – LauraNMS

Antwort

4

Schlüssel sind jetzt erforderlich. Seiten, die vor dem 22. Juni 2016 ohne Schlüssel aktiv waren, sind "grandfathered" und funktionieren weiterhin ohne Schlüssel (zumindest für den Moment). Neue Websites benötigen einen Schlüssel.

+0

Ich wurde weggeworfen, indem ich zwei Seiten im selben Verzeichnis hatte - eine warf den Fehler und eine andere nicht. Vielen Dank! – LauraNMS

+1

Haben Sie vor dem 22. Juni 2016 eine Ihrer Seiten erstellt (oder führen Sie den Kartencode darauf aus) und eine nach diesem Datum? Es könnte damit zusammenhängen. – Danery

+1

@Danery: Ja, eine Seite war vor dem 22. Juni und eine war danach. – LauraNMS