我需要jQuery和谷歌地图API的帮助

我需要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

我正在尝试学习谷歌地图和地点API,所以我想我应该从基础开始:通过用户的IP地址在地图上显示用户的位置

我发现了一个jQuery脚本,其中获取了用户的纬度和经度,它工作正常(放在var下面的警报显示纬度和经度),但是当我将变量传递给Maps方法时,它就不工作了。有人能看到我的函数有什么问题吗?或者它的调用方式有什么问题吗

$.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。