简体   繁体   中英

Using a Google Apps API key with Distance Matrix

I am using the Google Distance Matrix API and the documentation tells me I need an API key (but I can use it without one.) I'd like to be able to monitor use but I'm stumped as to how to set it up.

I have a valid browser application API key from the Google Developers Console, it's new so I'm assuming it's a version 3 key.

I have added valid referers in the console

I have <script src="https://maps.googleapis.com/maps/api/js?v=3.exp"></script> on my page

I'm using code like this

function callback(response, status) {
    if (status!==google.maps.DistanceMatrixStatus.OK) {
        _googleError('Error was: ' + status);
    } else {
        var origins = response.originAddresses;

        for (var i = 0; i < origins.length; i++) {
            var results = response.rows[i].elements;
            for (var j = 0; j < results.length; j++) {
                    $("#calcDistance").val(results[j].distance.text);
               //Other stuff that works here
            }
        }
    }
}

function calculateDistances(start, end) {
    var service = new google.maps.DistanceMatrixService();
    service.getDistanceMatrix(
        {
            origins: [start],
            destinations: [end],
            travelMode: google.maps.TravelMode.DRIVING,
            unitSystem: google.maps.UnitSystem.IMPERIAL,
            avoidHighways: false,
            avoidTolls: false
        }, callback);
}

As it is things work just fine. When I try to add the key in things go south. I've tried

<script src="https://maps.googleapis.com/maps/api/js?key={MY_KEY}&v=3.exp"></script>

and

<script src="https://maps.googleapis.com/maps/api/js?key={MY_KEY}"></script>

with no luck. When I do either of those I get an error about invalid URL, similar to this question .

I've also tried adding key: {MY_KEY}, into calculateDistances() - no luck with that either.

Am I missing something obvious? (I feel like I am)

UPDATE:

@Dr.Molle's answer got me what I was looking for. I turned on "Google Maps JavaScript API v3" and changed <script src="https://maps.googleapis.com/maps/api/js?v=3.exp"></script> to <script src="https://maps.googleapis.com/maps/api/js?key={MY_KEY}&v=3.exp"></script> Now I can view activity in the Developer Console like I wanted.

When you use the key when loading the maps-Javascript-API you must enable the API "Google Maps JavaScript API v3" inside the console.

The linked documentation is for the Webservice, the key-related part of this documentation is irrelevant when you request the DistanceMatrixService via the javascript-API.

The correct documentation you'll find at https://developers.google.com/maps/documentation/javascript/distancematrix

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM