0

我有3个页面,一个是显示来自php页面的数据的html,一个是处理数据并从数据库获取数据的php页面,最后一个是js页面。

我的问题是我在 php 页面中有谷歌地图代码,我不会在 html 页面中打印它。

现在我通过jquery发送它并在html页面中打开它,但它不起作用???为什么。

如果我从 php 页面复制代码并将其粘贴到 html 页面中,Google 地图将打开......那么问题出在哪里?

<style>
      #map-canvas {
        height: 100%;
        margin: 0px;
        padding: 0px
      }
    </style><script src='https://maps.googleapis.com/maps/api/js?v=3.exp&sensor=false'></script>
    <script>
function initialize() {
  var myLatlng = new google.maps.LatLng(24.701564296830245,46.76211117183027);
  var mapOptions = {
    zoom: 4,
    center: myLatlng,
    mapTypeId: google.maps.MapTypeId.ROADMAP
  }
  var map = new google.maps.Map(document.getElementById('map-canvas'), mapOptions);

  var marker = new google.maps.Marker({
      position: myLatlng,
      map: map,
      title: 'Hello World!'
  });
}

google.maps.event.addDomListener(window, 'load', initialize);

    </script>
<div id='map-canvas'></div>
4

1 回答 1

0

这是“如何通过 jquery 将上述地图代码从 php 页面发送到 html 页面”的示例。

PHP(地图.php):

<?php
echo "
<div id='map-canvas' style='height: 100%; margin: 0px; padding: 0px'></div>
<script src='https://maps.googleapis.com/maps/api/js?v=3.exp&sensor=false'></script>
<script>
function initialize() {
  var myLatlng = new google.maps.LatLng(24.701564296830245,46.76211117183027);
  var mapOptions = {
    zoom: 4,
    center: myLatlng,
    mapTypeId: google.maps.MapTypeId.ROADMAP
  }
  var map = new google.maps.Map(document.getElementById('map-canvas'), mapOptions);

  var marker = new google.maps.Marker({
      position: myLatlng,
      map: map,
      title: 'Hello World!'
  });
}

google.maps.event.addDomListener(window, 'load', initialize);

</script>";
?>

我在发布后简要更改了上面的代码,因为我不确定浏览器如何在<style>异步<body>中解析。我还在div#map-canvas之前移动了上面的内容,<script>因此 HTML 将在脚本执行之前出现。

HTML页面:

<head>
<script>
$.ajax({
  url: "map.php",
})
.done(function( msg ) {
  $('#where_map_is_going').html(msg);
});
</script>
</head>
<body>
<div id="where_map_is_going"></div>
于 2013-10-31T22:38:31.153 回答