Передайте название города в Google Maps, используя PHP - PullRequest
0 голосов
/ 18 октября 2018

Я пытаюсь открыть карту при открытии, которая будет отображать маркер текущего названия города, с каждым кликом, который я буду делать, но что-то не так, и я действительно пытался это сделать, но безуспешно.Я попробовал несколько способов получить значение из ввода (без успеха).Затем я попытался взять значение с помощью onclick, как показано, снова не работает.Я знаю, что мне нужно объявить переменную адреса в JavaScript, но я застрял на этом.Пожалуйста, проверьте мой код.

Раздел HTML.Здесь я открываю откровение для отображения карты и пытаюсь отправить значение city_name в JavaScript.

<button data-open="user-location" id="submit" class="clear primary button" onclick="geocodeAddress(<?php echo $cities[($product['product_city_id'] - 0507)]['city_name']; ?>); "><i class="fas fa-map-marker-alt"></i> Map</button>

<div id="user-location" class="reveal-modal" data-reveal   aria-labelledby="modalTitle" aria-hidden="true" role="dialog" data-reset-on-close="true" >
    <div id="map"></div>
    <a class="close-reveal-modal" aria-label="Close">&#215;</a>
</div>


function dropdownMenu() {
    var x = document.getElementById("dropdownClick");
    if (x.className === "topnav") {
        x.className += " responsive";
        /*change topnav to topnav.responsive*/
    } else {
        x.className = "topnav";
    }
}

раздел JavaScript, основанный на Google Maps.

function initMap() {
    var map = new google.maps.Map(document.getElementById('map'), {
        "zoom": 8,
        "center": { "lat": -34.397, "lng": 150.644 }
    });
    var geocoder = new google.maps.Geocoder();

    document.getElementById('submit').addEventListener('click', function() {
        geocodeAddress(geocoder, map);
    });
}

function geocodeAddress(geocoder, resultsMap) {
    var address = document.getElementById('address').value;
    geocoder.geocode({ "address": address}, function(results, status) {
        if (status === 'OK') {
            resultsMap.setCenter(results[0].geometry.location);
            var marker = new google.maps.Marker({
                "map": resultsMap,
                "position": results[0].geometry.location
            });
        } else {
            alert('Geocode was not successful for the following reason: ' + status);
        }
    });
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...