显示谷歌地图坐标将无法在ajax中工作

时间:2012-10-16 18:49:14

标签: php javascript ajax

我有谷歌地图脚本用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; 但地图不起作用...... 有什么我想念... ??? 将不胜感激

1 个答案:

答案 0 :(得分:0)

如果您的所有JS都已发布,那么您不会调用initialize()函数。尝试在最后添加:

[..rest of code]
  echo "initialize();"
  echo "</script>";