Я пытаюсь открыть карту при открытии, которая будет отображать маркер текущего названия города, с каждым кликом, который я буду делать, но что-то не так, и я действительно пытался это сделать, но безуспешно.Я попробовал несколько способов получить значение из ввода (без успеха).Затем я попытался взять значение с помощью 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">×</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);
}
});
}