当您<script>
在测试页面中添加 jQuery 标记时,您删除了<script>
加载您自己的脚本的标记。这就是为什么你的load()
函数是未定义的。
您当前的代码是:
<script type="text/javascript"
src="http://ajax.googleapis.com/ajax/libs/jquery/1.7/jquery.min.js">
</script>
//<![CDATA[
var gmarkers = [];
var infoWindow = new google.maps.InfoWindow;
...
看看你自己的脚本怎么没有<script>
标签?
关于您关于需要一个 jQuery 插件才能将 Maps API 与 jQuery 一起使用的问题,不,您绝对不需要。我一直同时使用 jQuery 和 Maps API。考虑一下:什么是 jQuery 插件?JavaScript 代码!没有其他的。jQuery 插件所做的任何事情,您都可以在自己的代码中完成。
(我想人们可以想象可能需要一些特殊的簿记才能使 jQuery 和 Maps API 一起工作,但事实并非如此。jQuery 不在乎地图容器中的内容。)
正如@geocodezip 提到的,如果您发现地图工作正常,但地图内元素的格式出现奇怪的事情(例如平移/缩放控件被剪裁),请检查影响太多元素的 CSS 选择器,例如:
img {
/* anything here is dangerous! */
}
像这样的选择器会影响地图内的图像,这些图像应该由您的 CSS 单独保留。您当前的工作测试页面中似乎没有这个问题,如果发生这种情况需要注意。
此外,只是一个不相关的提示,您不需要type="text/javascript"
在<script>
标签上,也不需要type="text/css"
在标签上<style>
。