我必须在我的网站上显示谷歌地图标记,其中纬度和经度的值来自latitude
和longitude
列的数据库。
最初的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
请始终检查您的控制台是否存在错误。