こんにちは、初質問です。よろしくお願いします。

日経ソフトウェア2018年1月号のサンプルプログラムを落として、APIキーだけ書き換えました。
しかし、JSONの中身が表示されるだけでマップが表示されません。

APIキーの問題かと思いましたが、他のサイトから引っ張ってきたコードにAPIキーを入れるとちゃんとマップが表示されました。GCPの方でもGoogle Maps JavaScript APIが有効になっています。

どなたかご教示ください。

<!DOCTYPE html>
<html>

<head>
<meta charset="UTF-8">
<title>Cloud Vision API Sample App</title>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.2.2/jquery.min.js"></script>
<script>
$(function() {
    $("#fileField").change(function() {
        readFile(this);
    });
    $('#fileForm').on('submit', upload);
});

function readFile(input) {
    if (input.files && input.files[0]) {
        var file = input.files[0];
        var reader = new FileReader();
        reader.onload = function(event) {
            $('#test_image').attr('src', event.target.result);
        }
        reader.readAsDataURL(file);
    }
}

function upload(event) {
    event.preventDefault();
    var file = $("#fileField")[0].files[0];
    var reader = new FileReader();
    reader.onloadend = uploadToCloudVision;
    reader.readAsDataURL(file);
}

function uploadToCloudVision(event) {
    var content = event.target.result;
    var data = {
        requests: [{
            image: {
                content: content.replace('data:image/jpeg;base64,', '')
            },
            features: [{
                type: "LANDMARK_DETECTION"
            }]
        }]
    };

    $('#results').text('Loading');
    $.post({
        url: 'https://vision.googleapis.com/v1/images:annotate?key=xxx',
        data: JSON.stringify(data),
        contentType: 'application/json'
    }).fail(function(jqXHR, textStatus, errorThrown) {
        $('#results').text('ERRORS: ' + textStatus + ' ' + errorThrown);
    }).done(display);
}

function display(data) {
    if (jQuery.isEmptyObject(data.responses[0])) {
        $('#results').text("Location Not Found.");
    } else {
                    initMap(Object.values(data.responses[0].landmarkAnnotations[0].locations[0].latLng));
        var contents = JSON.stringify(data, null, 4);
        $('#results').text(contents);
    }
}

function initMap(latLng) {
    var latLng = { lat: latLng[0], lng: latLng[1] };
    var map = new google.maps.Map(document.getElementById('map'), {
        zoom: 15,
        center: latLng
    });
    var marker = new google.maps.Marker({
        position: latLng,
        map: map
    });
}
</script>
<script type="text/javascript" src="http://maps.google.com/maps/api/js?key=xxx"></script>
</head>

<body>
<h1>Cloud Vision API Sample App</h1>
<div style="display: flex;">
    <img id="test_image">
    <div id="map" style="height:500%; width:100%;"></div>
</div>
<form id="fileForm" action="#">
    <input type="file" id="fileField">
    <br>
    <input type="submit" value="Submit">
</form>
<code style="white-space:pre" id="results"></code>
</body>

</html>