2016-04-14 2 views
1

Мне нужно показать маркер карты google на моем веб-сайте, где значение широты и долготы поступает из базы данных от latitude и longitude столбцов.Задайте значение из базы данных на JavaScript с помощью php

Первоначально JavaScript код

var map; 
function initialize() { 
    map = new GMaps({ 
     div: '#map', 
     lat: -37.817917, 
     lng: 144.965065, 
     zoom: 16 

    }); 
    map.addMarker({ 
     lat: -37.81792, 
     lng: 144.96506, 
     title: 'Marker with InfoWindow', 
     icon: 'images/map-marker.png', 
     infoWindow: { 
      content: '<p>Melbourne Victoria, 300, Australia</p>' 
     } 
    }); 
} 

Я попытался с размещением кода PHP как:

lat: <?php echo $latitude; ?> 
lng: <?php echo $latitude; ?> 

Но это не работает.

выясню еще один способ сделать это установить входное значение поля по координатам, а затем вызвать его в JavaScript с помощью getElementById

<input id="map_latitude" value="<?= $latitude ?>" hidden> 
<input id="map_longitude" value="<?= $longitude ?>" hidden> 

и в JavaScript: (это просто экспериментальный, не знаете ли правильно или нет)

lat: getElementById('#map_latitude'), 
lng: getElementById('#map_longitude') 
+0

Вторая часть должна работать. Попытайтесь сделать 'lat: $ ('# map_latitude'). Val(), lng:. $ (# Map_longitude '). Val()'. Если вы установите JQuery. PS: убедитесь, что вы не получаете пустые значения. – KubiRoazhon

+0

Возможный дубликат [Как передать переменные и данные с PHP на JavaScript?] (Http://stackoverflow.com/questions/23740548/how-to-pass-variables-and-data-from-php-to-javascript) – Hypaethral

ответ

1

Это должно полностью работать:

div: '#map', 
lat: <?php echo $latitude; ?>, 
lng: <?php echo $longitude; ?>, 

Второй вариант должен работать, но с небольшим изменением.

var map; 
var lati = getElementById('map_latitude').value; //Need to select the value 
var longi = getElementById('map_longitude').value; //and remove the hashtag (#) 
function initialize() { 
    map = new GMaps({ 
     div: '#map', 
     lat: lati, 
     lng: longi, 
     zoom: 16 

Всегда проверяйте консоль на наличие ошибок.

2

Для второго варианта попробуйте ниже

lat: document.getElementById('map_latitude').value, 
lng: document.getElementById('map_longitude').value 
Смежные вопросы