2016-06-23 24 views
2

Ich habe eine Cross-Plattform-App mit Cordova, aber jetzt die Google Karte funktioniert nicht. Ich habe diesen Fehler:Cordova Google Map Schlüssel api Fehler

MissingKeyMapError 

Ich versuche, neue api Browser Schlüssel in google Konsole mit „*“ Genehmigung URL zu erstellen, aber immer noch nicht funktioniert. Ich habe diesen Fehler: RefererNotAllowedMapError Die window.location.href meiner App ist: file: /// Benutzer/Bahri/Library/Entwickler/CoreSimulator/Devices/757EE924-9884-44B1-B BF5-04CFF3D68C80/Daten/Container/Bundle/Anwendung/820BF808-DFF7-4AB0-8BF8-179D2 78E90D5/com.taxiWink.taxiwinkapp.app/www/index.html

Wie kann ich dieses Problem beheben?

+0

was ist der Wert von window.location.href für Ihre html? – kaskader

+0

das ist mein href: file: /// Users/bahri/Library/Developer/CoreSimulator/Geräte/757EE924-9884-44B1-BBF5-04CFF3D68C80/data/Behälter/Bundle/Anwendung/820BF808-DFF7-4AB0-8BF8-179D278E90D5 /com.taxiwink.taxiwinkapp.app/www/index.html –

Antwort

3

MissingKeyMapError Fehler

Das Script-Element, das das API fehlt den erforderlichen Authentifizierungsparameter lädt. Wenn Sie die Standard-Maps-JavaScript-API verwenden, müssen Sie einen Schlüsselparameter mit einem gültigen API-Schlüssel verwenden. Wenn Sie ein Premium-Plan-Kunde sind, müssen Sie entweder einen Client-Parameter mit Ihrer Client-ID oder einen Schlüsselparameter mit einem gültigen API-Schlüssel verwenden.

Siehe das Handbuch zu API-Schlüsseln und Client-IDs.

Von:

https://developers.google.com/maps/documentation/javascript/error-messages#deverrorcodes

https://developers.google.com/maps/documentation/javascript/get-api-key

auch:

Registrieren von autorisierten URLs

einem Dritten die Verwendung Ihrer Client-ID auf ihrer eigenen Website zu verhindern, Die Verwendung Ihrer Kundennummer ist restr auf eine Liste von URLs, die Sie speziell autorisieren. zu einem Zeitpunkt, zu 100 URLs summieren sich auf insgesamt 3000 URLs

Log in to the Google for Work Support Portal. 
In the left-hand menu, click Maps: Manage Client ID. 

Sie können:

die URLs sehen Sie bereits genehmigt haben oder zusätzliche URLs zu autorisieren. Wenn Sie höhere Limits benötigen, wenden Sie sich bitte an den Support.

HTTP- und HTTPS-Protokolle werden als unterschiedliche URLs betrachtet.

For example, if https://example.com is authorized, http://example.com is not necessarily authorized. If you'd like to authorize both at once, you may add a domain without using a protocol: example.com/ 
+0

in meinem Fall habe ich cordova App gibt es keine Domaine Name, kann ich http: // localhost/autorisieren? –

+0

http://stackoverflow.com/questions/23949725/google-maps-api-v3-api-key – Destrif

+0

https://developers.google.com/maps/documentation/javascript/tutorial – Destrif

1

Sie sollten die Liste der autorisierten HTTP Referers für Ihren Schlüssel in der API-Konsole leeren. Dies sollte die Karte erfolgreich machen (nach einer 5-minütigen Ausbreitungsverzögerung).

Verwandte Themen (es "Stern" vorgeschlagen hat sie ein Update auf ihre Auflösung zu erhalten):

UPDATE

Gute Nachrichten, Jetzt können Sie Datei:/Referrer verwenden. Sie können den folgenden Text in der Dokumentation

file:// referers need a special representation to be added to the Key restriction. The "file:/" part should be replaced with "__file_url__" before being added to the Key restriction. For example, "file://path/to/" should be formatted as "__file_url__/path/to/*". After enabling file:// referers, it is recommended you regularly check your usage, to make sure it matches your expectations

https://developers.google.com/maps/documentation/javascript/get-api-key#key-restrictions

+0

guten dank für ihre antwort, google team lösen die probleme, jetzt müssen wir nicht die schlüsselparameter o n cordova App –

+0

@bahribenguesmia: Verwendung ohne Schlüssel ist [veraltet] (https://developers.google.com/maps/pricing-and-plans/standard-plan-2016-update). Wenn es immer noch funktioniert, liegt es daran, dass Ihre App das Glück hat, eine Grandfathered-Domain zu verwenden. Die Nutzung ist jedoch auf Domains auf der Whitelist beschränkt. Es wird empfohlen, einen Schlüssel zu verwenden und diesen entsprechend auf Datei: // URLs wie oben dokumentiert einzuschränken. –

+0

@NicolasAdrian wenn ich nicht falsch liege, kann jemand einen Dateiverweis wie diesen "__file_url __/path/to/..." einrichten und deinen API Key benutzen .. richtig? –