如何使用手机间隙或cordova ajax谷歌地图

时间:2012-05-06 12:04:23

标签: ajax google-maps cordova

我创建了一个名为maps.php的PHP文件,其中包含一个可在iPad默认浏览器上运行的简单Google Maps API。

但是当我使用Ajax调用它时,页面会加载自身而不是地图。如果我在桌面或移动浏览器中打开链接,它可以正常工作。

1 个答案:

答案 0 :(得分:2)

您可以通过访问Google javascript api来显示Google地图。

<!DOCTYPE html>
<html>
  <head>
    <meta name="viewport" content="initial-scale=1.0, user-scalable=no" />
    <style type="text/css">
      html { height: 100% }
      body { height: 100%; margin: 0; padding: 0 }
      #map_canvas { height: 100% }
    </style>
    <script type="text/javascript"
      src="http://maps.googleapis.com/maps/api/js?key=YOUR_API_KEY&sensor=SET_TO_TRUE_OR_FALSE">
    </script>
    <script type="text/javascript">
      function initialize() {
        var myOptions = {
          center: new google.maps.LatLng(-34.397, 150.644),
          zoom: 8,
          mapTypeId: google.maps.MapTypeId.ROADMAP
        };
        var map = new google.maps.Map(document.getElementById("map_canvas"),
            myOptions);
      }
    </script>
  </head>
  <body onload="initialize()">
    <div id="map_canvas" style="width:100%; height:100%"></div>
  </body>
</html>

或者你可以使用window.location="http://www.mourady.me/alhokair/iphone/maps.php" javascript方法直接在webView中加载任何php页面,因为你的php页面包含canvas标签中的google map,你无法通过ajax调用加载div,更好的方法是使用iframe标签工作。

<html>
    <body onload="bodyload()">
        <button onclick="bodyload()">Ajax call</button>
        <iframe id="mapDiv" height=500px width=700px src="http://www.mourady.me/alhokair/iphone/maps.php"></iframe>
    </body>
</html>