2012-12-05 117 views
1

我寫了一個代碼,用於從數據庫獲取緯度和經度值並將其顯示在地圖中。使用PHP的谷歌地圖顯示不起作用

此代碼適用於Linux(Ubuntu),但當我在Windows中運行它時,它不顯示Google地圖。請幫我找到解決方案。

查看源信息:

<? 
    $dbname   ='test'; //Name of the database 
    $dbuser   =''; //Username for the db 
    $dbpass   =''; //Password for the db 
    $dbserver   ='localhost'; //Name of the mysql server 

    $dbcnx = mysql_connect ("$dbserver", "$dbuser", "$dbpass"); 
    mysql_select_db("$dbname") or die(mysql_error()); 
    ?> 
    <html> 
    <head> 
    <meta http-equiv="content-type" content="text/html; charset=utf-8"/> 
    <style type="text/css"> 
     body { font: normal 10pt Helvetica, Arial; } 
    #map { width: 350px; height: 300px; border: 0px; padding: 0px; } 
    </style> 
    <script src="http://maps.google.com/maps/api/js?v=3&sensor=false" type="text/javascript"></script> 
    <script type="text/javascript"> 

    var icon = new google.maps.MarkerImage("http://maps.google.com/mapfiles/ms/micons/blue.png", 
    new google.maps.Size(32, 32), new google.maps.Point(0, 0), 
    new google.maps.Point(16, 32)); 
    var center = null; 
     var map = null; 
    var currentPopup; 
    var bounds = new google.maps.LatLngBounds(); 
    function addMarker(lat, lng, info) { 
    var pt = new google.maps.LatLng(lat, lng); 
    bounds.extend(pt); 
    var marker = new google.maps.Marker({ 
    position: pt, 
    icon: icon, 
    map: map 
    }); 
    var popup = new google.maps.InfoWindow({ 
    content: info, 
    maxWidth: 300 
    }); 

    google.maps.event.addListener(marker, "click", function() { 
    if (currentPopup != null) { 
    currentPopup.close(); 
    currentPopup = null; 
    } 
    popup.open(map, marker); 
    currentPopup = popup; 
    }); 
    google.maps.event.addListener(popup, "closeclick", function() { 
    map.panTo(center); 
    currentPopup = null; 
    }); 
    } 
    function initMap() { 
    map = new google.maps.Map(document.getElementById("map"), { 
    center: new google.maps.LatLng(0, 0), 
    zoom: 14, 
     mapTypeId: google.maps.MapTypeId.ROADMAP, 
    mapTypeControl: false, 
    mapTypeControlOptions: { 
    style: google.maps.MapTypeControlStyle.HORIZONTAL_BAR 
    }, 
    navigationControl: true, 
    navigationControlOptions: { 
    style: google.maps.NavigationControlStyle.SMALL 
    } 
    }); 



    <? 
    $query = mysql_query("SELECT * FROM manu"); 
    while ($row = mysql_fetch_array($query)){ 

    $lat=$row['lat']; 
    $lon=$row['lon']; 

    echo ("addMarker($lat, $lon);\n"); 
    } 
    ?> 
    center = bounds.getCenter(); 
    map.fitBounds(bounds); 



    } 
    </script> 
    </head> 
    <body onload="initMap()" style="margin:0px; border:0px; padding:0px;"> 
    <div id="map"></div> 
    </html> 
+0

你什麼錯誤? – Peon

+1

PHP或JavaScript錯誤? – shapeshifter

+1

你也可以添加輸出代碼嗎? (該腳本生成的頁面) –

回答

2

只是呼應addMarkers(...是不會把它

總結這些函數調用$(文件)。就緒()

http://docs.jquery.com/Tutorials:Introducing_$(document).ready() 

$(document).ready(function() { 
<? 
    $query = mysql_query("SELECT * FROM manu"); 
    while ($row = mysql_fetch_array($query)){ 
    $name=$row['name']; 
    $lat=$row['lat']; 
    $lon=$row['lon']; 
    $desc=$row['desc']; 
    echo ("addMarker($lat, $lon,'<b>$name</b><br/>$desc');\n"); 
    } 
    ?> 
    center = bounds.getCenter(); 
    map.fitBounds(bounds); 
}); 
+0

他有'body onload =「initMap()」' – Svetoslav

+0

啊對,沒有抓住那個。很難閱讀,沒有縮進。 – shapeshifter

+0

並沒有錯誤信息! – shapeshifter