只想将php变量$ x和$ y传递给javascript map函数(如lat和long)。请帮忙。 这是我的控制器:
<?php
$x = 25.114667;
$y = 55.137797;
?>
这是我的JS文件:
function initialize()
{
var myCenter = new google.maps.LatLng(lat,long);
var mapOptions = {
center:myCenter,
zoom:12,
mapTypeId:google.maps.MapTypeId.ROADMAP
};
var map=new google.maps.Map(document.getElementById("googleMap")
,mapOptions);
} google.maps.event.addDomListener(document.getElementById('showhidemap'), 'click', initialize);
答案 0 :(得分:2)
你在js变量lat
和long
中传递字符串。直接赋值为float
试试这个
var lat = <?php echo $x; ?>;
var long = <?php echo $y; ?>;
还必须在Google地图初始化的上方包含带谷歌地图密钥的脚本。
<script type="text/javascript" src="http://maps.googleapis.com/maps/api/js?key=GOOGLE_MAP_KEY&sensor=true"> </script>
必须为您的网站生成GOOGLE MAP KEY:。
看到一些网址可能会帮到你
https://developers.google.com/maps/tutorials/fundamentals/adding-a-google-map
https://developers.google.com/maps/signup?csw=1
https://developers.google.com/maps/documentation/javascript/tutorial
答案 1 :(得分:0)
您是否尝试添加
$x = 25.114667;
$y = 55.137797;
到某些标签,如
<div data-lat="<?php echo $y; ?>" data-long="<?php echo $y; ?>" id="showhidemap">show map</div>
答案 2 :(得分:0)
您需要在.php 文件中创建一个Javascript对象,就在您包含javascript文件之前(包含上述片段的文件),这将填充根据您的经度/纬度信息。 像这样:
您的PHP文件
<html>
...
<script type="text/javascript">
var mapLangLat = {
long:<?php echo $x; ?>,
lati:<?php echo $y; ?>
};
</script>
<script src="my_remote_script.js"></script>
...
您的JAVASCRIPT文件
<script>
function initialize()
{
var lat = window.mapLangLat.lati;
var long = window.mapLangLat.long;
...
需要找到上面的PHP部分才能编写那个小javascript对象。