我有用于Google地图的javascript,需要将php变量放在经度和纬度值所在的位置,但是我不确定如何允许javascript在php文件中工作,我该怎么做? >
这是我正在使用的代码:
<div id="map"></div>
<script>
var map;
function initMap() {
map = new google.maps.Map(document.getElementById('map'), {
center: {lat: **-34.397**, lng: **150.644**},
zoom: 8
});
}
</script>
<script src="https://maps.googleapis.com/maps/api/jskey=MYAPIKEY&callback=initMap"
async defer></script>
我需要更改“ lat:”和“ long:”以在其中包含两个php变量,例如:
lat: $myVariableLat;
lng: $myVariableLng;
并在我的php文件中使用上述javascript
答案 0 :(得分:1)
我假设您的设置中有一个运行着显示网页的.php文件的网络服务器。
您需要了解.php文件只是呈现其内容的结果。这意味着您需要将所需的变量嵌入到要显示的html / javascript中。
如果以上内容有效,则.php文件的内容将类似于以下内容。
<div id="map"></div>
<script>
var map;
function initMap() {
map = new google.maps.Map(document.getElementById('map'), {
center: {lat: <?php echo $myVariableLat; ?>, lng: <?php echo $myVariableLng; ?>},
zoom: 8
});
}
</script>
<script src="https://maps.googleapis.com/maps/api/jskey=MYAPIKEY&callback=initMap"
async defer></script>
答案 1 :(得分:0)
JavaScript在客户端运行,PHP在文档/数据发送之前就已执行。
如果您的经度和纬度不需要动态更改,则可以使用以下php代码:
<div id="map"></div>
<script>
var map;
function initMap() {
map = new google.maps.Map(document.getElementById('map'), {
center: {lat: <?=$myVariableLat?>, lng: <?=$myVariableLng?>},
zoom: 8
});
}
</script>
<script src="https://maps.googleapis.com/maps/api/jskey=MYAPIKEY&callback=initMap"
async defer></script>
PHP将运行并在JavaScript中插入值。
<?=
打开一个新的php标记并回显以下值。 ?>
仅关闭php标签
结果应如下所示:
<div id="map"></div>
<script>
var map;
function initMap() {
map = new google.maps.Map(document.getElementById('map'), {
center: {lat: -34.397, lng: 150.644},
zoom: 8
});
}
</script>
<script src="https://maps.googleapis.com/maps/api/jskey=MYAPIKEY&callback=initMap"
async defer></script>