我需要jQuery和谷歌地图API的帮助
我正在尝试学习谷歌地图和地点API,所以我想我应该从基础开始:通过用户的IP地址在地图上显示用户的位置 我发现了一个jQuery脚本,其中获取了用户的纬度和经度,它工作正常(放在var下面的警报显示纬度和经度),但是当我将变量传递给Maps方法时,它就不工作了。有人能看到我的函数有什么问题吗?或者它的调用方式有什么问题吗我需要jQuery和谷歌地图API的帮助,jquery,google-maps-api-3,Jquery,Google Maps Api 3,我正在尝试学习谷歌地图和地点API,所以我想我应该从基础开始:通过用户的IP地址在地图上显示用户的位置 我发现了一个jQuery脚本,其中获取了用户的纬度和经度,它工作正常(放在var下面的警报显示纬度和经度),但是当我将变量传递给Maps方法时,它就不工作了。有人能看到我的函数有什么问题吗?或者它的调用方式有什么问题吗 $.getJSON('http://api.wipmania.com/jsonp?callback=?', function (data) { var latlng = n
$.getJSON('http://api.wipmania.com/jsonp?callback=?', function (data) {
var latlng = new google.maps.LatLng(data.latitude,data.longitude);
function initialize() {
var myOptions = {
zoom: 8,
center: latlng,
mapTypeId: google.maps.MapTypeId.ROADMAP
};
var map = new google.maps.Map(document.getElementById("map_canvas"),
myOptions);
}
});
编辑:顺便说一下,这些是我正在使用的脚本:
<script language="javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js"></script>
<script language="javascript" src="http://maps.google.com/maps/api/js?sensor=false"></script>
我想我知道你在那里做了什么。看起来您首先使用的是Hello World gmaps示例 如果您注意到gmaps示例在map元素的
onload
上调用initialize
函数,那么您要做的是将getJSON()调用的内容放在initialize函数的内部,该函数包装该函数的原始代码
下面是它的外观:
function initialize() {
$.getJSON('http://api.wipmania.com/jsonp?callback=?', function (data) {
var latlng = new google.maps.LatLng(data.latitude,data.longitude);
var myOptions = {
zoom: 8,
center: latlng,
mapTypeId: google.maps.MapTypeId.ROADMAP
};
var map = new google.maps.Map(document.getElementById("map_canvas"), myOptions);
});
}
我想我知道你在那里做了什么。看起来您首先使用的是Hello World gmaps示例 如果您注意到gmaps示例在map元素的
onload
上调用initialize
函数,那么您要做的是将getJSON()调用的内容放在initialize函数的内部,该函数包装该函数的原始代码
下面是它的外观:
function initialize() {
$.getJSON('http://api.wipmania.com/jsonp?callback=?', function (data) {
var latlng = new google.maps.LatLng(data.latitude,data.longitude);
var myOptions = {
zoom: 8,
center: latlng,
mapTypeId: google.maps.MapTypeId.ROADMAP
};
var map = new google.maps.Map(document.getElementById("map_canvas"), myOptions);
});
}
尝试在
getJSON
的返回块之外声明函数initialize()
像这样:
$(function(){
$.getJSON('http://api.wipmania.com/jsonp?callback=?', function (data) {
var latlng = new google.maps.LatLng(data.latitude,data.longitude);
initialize(latlng);
});
});
function initialize(latlng) {
var myOptions = {
zoom: 8,
center: latlng,
mapTypeId: google.maps.MapTypeId.ROADMAP
};
var map = new google.maps.Map(document.getElementById("map_canvas"), myOptions);
}
尝试在
getJSON
的返回块之外声明函数initialize()
像这样:
$(function(){
$.getJSON('http://api.wipmania.com/jsonp?callback=?', function (data) {
var latlng = new google.maps.LatLng(data.latitude,data.longitude);
initialize(latlng);
});
});
function initialize(latlng) {
var myOptions = {
zoom: 8,
center: latlng,
mapTypeId: google.maps.MapTypeId.ROADMAP
};
var map = new google.maps.Map(document.getElementById("map_canvas"), myOptions);
}
愚蠢的问题,但是在嵌入脚本的页面上是否有id为
map\u canvas
的元素?在回答上述问题之前,只是一个旁注,但为什么要使用旧的jquery?Jquery现在是1.6了。这是个愚蠢的问题,但是你在嵌入这个脚本的页面上有id为map\u canvas
的元素吗?在回答上述问题之前,这只是一个旁注,但你为什么要使用那个旧的Jquery?Jquery现在是1.6。