我有谷歌地图脚本用ajax在页面上显示地图,我在分离页面上使用jquery ajax脚本,然后php分隔页面的脚本,
我不会在主页面上显示谷歌地图,而是包含具有visibility:none css属性的地图的div。
这是我在php页面中的谷歌地图脚本:
`<?php
$host="host";
$username="user";
$passowrd="";
$db_name="db";
// Connect to my database and run query
mysql_connect($host,$username,$passowrd) or die("connect to database faild");
mysql_select_db($db_name) or die("ünable to connect to database");
$barcode = mysql_real_escape_string($_POST['barcode']);
// select data from tracking table
$query = "SELECT *
FROM `table`
WHERE `col` = '$barcode'";
$query2 = mysql_query($queryWatch);
$cor = mysql_fetch_assoc($2);
/* echo $cor['lat'];
echo $cor['lon']; */
echo "<script type='text/javascript'>";
echo "var stockholm = new google.maps.LatLng(".$cor['lat']. ",". $cor['lon'].");";
echo "var parliament = new google.maps.LatLng(".$cor['lat']. ",". $cor['lon'].");";
echo "var marker;";
echo "var map;";
echo "function initialize() {";
echo "var mapOptions = {";
echo "zoom: 15,";
echo "mapTypeId:
google.maps.MapTypeId.ROADMAP,";
echo "center: stockholm";
echo "};";
echo "map = new google.maps.Map
(document.getElementById('map_canvas'),";
echo "mapOptions);";
echo "marker = new google.maps.Marker({";
echo "map:map,";
echo "draggable:true,";
echo "animation: google.maps.Animation.DROP,
position: parliament
});
google.maps.event.addListener(marker,
'click', toggleBounce);
}
function toggleBounce() {
if (marker.getAnimation() != null) {
marker.setAnimation(null);
} else {
marker.setAnimation
(google.maps.Animation.BOUNCE);
}
}";
echo "</script>";
?>`
这里是ajax的脚本:
function get() {
$.post('fetch-map.php', {barcode: searchBarcode.barcode.value},
function(output) {
$('#mapContainer').html(output).show();
});
}
地图容器的css属性再次是visibility:none; 但地图不起作用...... 有什么我想念... ??? 将不胜感激
答案 0 :(得分:0)
如果您的所有JS都已发布,那么您不会调用initialize()
函数。尝试在最后添加:
[..rest of code]
echo "initialize();"
echo "</script>";