Javascript 如何嵌入谷歌地图?
我正在尝试将谷歌地图添加到我的网站,我尝试了以下方法:Javascript 如何嵌入谷歌地图?,javascript,jquery,google-maps,Javascript,Jquery,Google Maps,我正在尝试将谷歌地图添加到我的网站,我尝试了以下方法: $.getScript("https://maps.googleapis.com/maps/api/js?sensor=false", function () { alert("1"); var map; var myOptions = { zoom: 8, center: new google.maps.LatLng(-34.397, 150.644)
$.getScript("https://maps.googleapis.com/maps/api/js?sensor=false", function () {
alert("1");
var map;
var myOptions = {
zoom: 8,
center: new google.maps.LatLng(-34.397, 150.644),
mapTypeId: google.maps.MapTypeId.ROADMAP
};
alert("2");
map = new google.maps.Map(document.getElementById("container"), myOptions);
});
这是行不通的。有人能告诉我为什么吗
编辑
脚本加载完美。我之所以知道这一点,是因为显示了警报(1)
,但之后控件没有到达警报(2)
什么是id,从哪里定义的
另外,getScript用于处理Ajax请求,这并不是您应该如何处理GoogleMaps。只需以正常方式调用脚本,并使用init函数在文档就绪时执行。或者更好地使用Google Maps API为您提供的window.load事件侦听器
<script type="text/javascript" src="https://maps.googleapis.com/maps/api/js?sensor=false" />
<script type="text/javascript">
function init(id)
{
var map;
var myOptions = {
zoom: 8,
center: new google.maps.LatLng(-34.397, 150.644),
mapTypeId: google.maps.MapTypeId.ROADMAP
};
map = new google.maps.Map(document.getElementById(id), myOptions);
}
google.maps.event.addDomListener(window, 'load', init('yourDivID'));
</script>
函数初始化(id)
{
var映射;
变量myOptions={
缩放:8,
中心:新google.maps.LatLng(-34.397150.644),
mapTypeId:google.maps.mapTypeId.ROADMAP
};
map=new google.maps.map(document.getElementById(id),myOptions);
}
google.maps.event.addDomListener(窗口'load',init('yourDivID');
什么是id,从哪里定义的
另外,getScript用于处理Ajax请求,这并不是您应该如何处理GoogleMaps。只需以正常方式调用脚本,并使用init函数在文档就绪时执行。或者更好地使用Google Maps API为您提供的window.load事件侦听器
<script type="text/javascript" src="https://maps.googleapis.com/maps/api/js?sensor=false" />
<script type="text/javascript">
function init(id)
{
var map;
var myOptions = {
zoom: 8,
center: new google.maps.LatLng(-34.397, 150.644),
mapTypeId: google.maps.MapTypeId.ROADMAP
};
map = new google.maps.Map(document.getElementById(id), myOptions);
}
google.maps.event.addDomListener(window, 'load', init('yourDivID'));
</script>
函数初始化(id)
{
var映射;
变量myOptions={
缩放:8,
中心:新google.maps.LatLng(-34.397150.644),
mapTypeId:google.maps.mapTypeId.ROADMAP
};
map=new google.maps.map(document.getElementById(id),myOptions);
}
google.maps.event.addDomListener(窗口'load',init('yourDivID');
您应该查看一下您的container div
它必须具有指定的宽度和高度
我过去常常把拉丁的做作分开:
var map;
var ll = new google.maps.LatLng(-34.397, 150.644);
var myOptions = {
zoom: 8,
center: ll,
mapTypeId: google.maps.MapTypeId.ROADMAP
};
map = new google.maps.Map(document.getElementById("container"), myOptions);
你应该看看你的容器分区 它必须具有指定的宽度和高度 我过去常常把拉丁的做作分开:
var map;
var ll = new google.maps.LatLng(-34.397, 150.644);
var myOptions = {
zoom: 8,
center: ll,
mapTypeId: google.maps.MapTypeId.ROADMAP
};
map = new google.maps.Map(document.getElementById("container"), myOptions);
您必须为此使用异步加载- 在当前的方法中,脚本可以这样做-
function getScript(src) {
document.write('<' + 'script src="' + src + '"' + ' type="text/javascript"><' + '/script>');
}
函数getScript(src){
文件。写(“”);
}
因此,当您调用$.getScript
时,它将变为无效。而且,google.maps.LatLng
变得未定义
我已经创建了一个异步版本。您可以检查fiddle@您必须为此使用异步加载- 在当前的方法中,脚本可以这样做-
function getScript(src) {
document.write('<' + 'script src="' + src + '"' + ' type="text/javascript"><' + '/script>');
}
函数getScript(src){
文件。写(“”);
}
因此,当您调用$.getScript
时,它将变为无效。而且,google.maps.LatLng
变得未定义
我已经创建了一个异步版本。你可以检查小提琴没有人能告诉你为什么它不工作,因为在你真正告诉我们之前,没有人知道它是如何工作的。你说的“不工作”是什么意思?如果您的意思是没有错误发生,并且它根本没有显示,那么首先我将调查
id
的值,并确保它存在。然后从那里开始。粘贴html代码,id为id
的元素必须是指定高度和宽度的div
。现在可能是我的编辑可以清楚地解释我的问题了!如果出现任何意外的脚本错误,是否已使用浏览器调试工具进行检查?如果您使用Chrome/Firefox,例如CTRL+SHIFT+J。也许有些语法不正确。没有人能告诉你为什么它不工作,因为在你真正告诉我们之前,没有人知道它是如何工作的。你说的“不工作”是什么意思?如果您的意思是没有错误发生,并且它根本没有显示,那么首先我将调查id
的值,并确保它存在。然后从那里开始。粘贴html代码,id为id
的元素必须是指定高度和宽度的div
。现在可能是我的编辑可以清楚地解释我的问题了!如果出现任何意外的脚本错误,是否已使用浏览器调试工具进行检查?如果您使用Chrome/Firefox,例如CTRL+SHIFT+J。可能有些语法不正确。@tkone:只是猜测而已。我认为这只是上次编辑之前的一个问题。在这种情况下,作为评论可能更合适?除非偏离了轨道,否则很明显这就是问题的原因。那么它应该是一个明确的答案,而不是一个问题。@tkone:只是猜测而已。我认为这只是上次编辑之前的一个问题。在这种情况下,作为评论可能更合适?除非偏离了轨道,否则很明显这就是问题的原因。那么它应该是一个明确的答案,而不是一个问题。如果您想知道警报(2)
没有调用的原因,请告诉我。如果您想知道警报(2)
没有调用的原因,请告诉我。