使用php将数据库中的值设置为JavaScript


Set value from database to JavaScript using php

我必须在我的网站上显示谷歌地图标记,其中纬度和经度的值来自latitudelongitude列的数据库。

最初的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; ?>

但它不起作用。

我发现还有一种方法可以做到这一点,那就是将输入字段值设置为坐标,然后使用getElementById 将其调用为JavaScript

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

在JavaScript中:(这只是实验性的,不知道是否正确)

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

对于第二个选项,请尝试以下

lat: document.getElementById('map_latitude').value,
lng: document.getElementById('map_longitude').value

这应该完全有效:

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

请始终检查您的控制台是否存在错误。