微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

不使用php显示Google地图

我有一个PHP代码,可从数据库(测试)和表名manu中获取位置信息,该表是在wamp中使用PHPmyadmin创建的,并使用标记在地图上显示这些位置.纬度和经度值中的位置详细信息.

更新

<?
$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" src="js/jquery.js"></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
  }
   });


 $.getJSON('googlescript.PHP', function(items)
 {
 for (var i = 0; i < items.length; i++) 
 {
 (function(item) 
 {
 addMarker(item.lat, item.long, item.name + ' ' + item.desc);
 })(items[i]);
 }

 });


 center = bounds.getCenter();
  map.fitBounds(bounds);
 }

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

googlescript.PHP文件代码

   <?PHP

   $dbname            ='test'; //Name of the database
   $dbuser            =''; //Username for the db
   $dbpass            =''; //Password for the db
   $dbserver          ='localhost'; //Name of the MysqL server
   $tbl_name          ='manu';

   $dbcnx = MysqL_connect ("$dbserver", "$dbuser", "$dbpass");
   MysqL_select_db("$dbname") or die(MysqL_error());

   $query = MysqL_query("SELECT * FROM manu")or die(MysqL_error());

   header('Content-Type: application/json');

   $rows = array();
   while ($row = MysqL_fetch_array($query))
   {
    $rows[] = $row;
   }
  echo json_encode($rows);
  exit;
   ?>

解决方法:

HTML页面

body onl oad="initMap()" //you forget to close it.
div id="map"

在html文件中进行以下更改.

script src="http://maps.google.com/maps/api/js?v=3&sensor=false"    type="text/javascript"
script type="text/javascript" src="js/jquery.js"
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;
    });
}

函数initMap()
{
    map = new google.maps.Map(document.getElementById(“ map”),{
        中心:新的google.maps.LatLng(0,0),
        变焦:14
        mapTypeId:google.maps.MapTypeId.ROADMAP,
        mapTypeControl:false,
        mapTypeControlOptions:
        {
            样式:google.maps.MapTypeControlStyle.HORIZONTAL_BAR
        },
        navigationControl:是的,
        navigationControlOptions:
        {
        样式:google.maps.NavigationControlStyle.SMALL
        }
    });

// getjson code goes here which is as below because i was unable to format it here so i wrote it downward.

center = bounds.getCenter();
map.fitBounds(bounds);

}
/ script>

$.getJSON(‘googlescript.PHP’,函数(项目)
    {
        对于(var i = 0; i< items.length; i){
            (功能(项目){
                addMarker(item.lat,item.long,item.name”item.desc);
            })(items [i]);
        }
   });

我使用了$.getJSON(‘googlescript.PHP’,因此您需要创建一个googlescript.PHP文件并将其粘贴在下面的代码中.

$query = MysqL_query("SELECT * FROM manu")or die(MysqL_error());

header('Content-Type: application/json');

$rows = array();
while ($row = MysqL_fetch_array($query))
{
    $rows[] = $row;
}
echo json_encode($rows);
exit;

?>

现在检查它的运行情况,我相信您会得到想要的结果.
不要忘记更改jquery路径并更改数据库连接设置,请正确放置jquery路径.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐