简介
这个答案也可以在我的博客 ARTICLE 中找到。如果您有时间,请看一下,因为它涵盖的信息比仅此答案要多。
还有另一个不需要 iframe 的出色解决方案,它的构建旨在尽可能地响应。它被称为 Google maps v3 API。
官方文档:https://developers.google.com/maps/documentation/javascript/examples/
首先让我们谈谈如何在经典 Web 应用程序中使用 Gmap v3 API,它将为我们提供一个很好的视角来做什么。在地图热潮开始时,iframe 是一种标准的交付解决方案,但随着时间的推移,它成为一种过时的技术,更像是他们成功交付技术的障碍。
历史
新的 JavaScript 地图 API 版本 3 由 Google 从头开始构建,旨在为桌面 Web 浏览器和移动设备提供干净、快速且功能强大的地图应用程序开发平台。据 Google 称,v3 API 让开发人员可以将 Google 地图嵌入到他们自己的网页中,并且专为更快、更适用于移动设备以及传统桌面浏览器应用程序而设计。
与在 IE6+、Firefox 2.0+ 上运行的 v2 API 不同,旧版本的 Chrome v3 API 将在所有支持 HTML5 的浏览器上运行,范围从 IE8+、Firefox 3.0 + 到 iOS、Android 和 BlackBerry 6+ 浏览器。这也使它成为 jQuery Mobile 应用程序的绝佳解决方案。但让我向您展示它在经典网页中的工作原理。
解决方案
这是一个工作示例:http://jsfiddle.net/Gajotres/T4H5X/
你可以把它放在任何地方,它会响应调整大小。它快速、可靠且灵活。
这是一个例子:
<!DOCTYPE html>
<html>
<head>
<title>Google Maps JavaScript API v3 Example: Map Simple</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=no">
<meta charset="utf-8">
<style>
html, body, #map_canvas {
margin: 0;
padding: 0;
height: 100%;
}
</style>
<script src="https://maps.googleapis.com/maps/api/js?v=3.exp&sensor=false"></script>
<script>
var map;
function initialize() {
var mapOptions = {
zoom: 8,
center: new google.maps.LatLng(-34.397, 150.644),
mapTypeId: google.maps.MapTypeId.ROADMAP
};
map = new google.maps.Map(document.getElementById('map_canvas'),
mapOptions);
}
google.maps.event.addDomListener(window, 'load', initialize);
</script>
</head>
<body>
<div id="map_canvas"></div>
</body>
</html>