我有一个Ajax函数,它可以从数据库获取标记数据数组,并将其显示在Google Map上。我成功地获得了一个标记,但是我在按钮单击事件中放置了ajax函数。事件顺利启动,没有任何错误。使用Ajax调用在Google地图上放置多个自定义标记
数据以json对象的形式返回。标记没有被绘制到地图上。下代码:
的Ajax功能
$('#getCitizens').click(function(){
var mapOptions = {center: new google.maps.LatLng(10.670044,-61.515305),
zoom: 16,
mapTypeId: google.maps.MapTypeId.ROADMAP
};
var map = new google.maps.Map(document.getElementById("map_canvas"),mapOptions);
var citizens = (function(){
var citizens = null;
$.ajax({
type: 'GET',
async : false,
global: 'false',
url: 'getListOfMarkers.htm',
headers : {Accept : 'application/json'},
dataType: 'json',
success: function(data){
citizens = data;
}
});
return citizens;
})();
for(var i= 0; i< citizens.length;i++){
console.log(citizens[i].name +' | '+citizens[i].socialSecurityNumber +' | '+citizens[i].latlng);
var markerType = citizens[i].citizenType
if(markerType = 2){
var citizen_icon = new google.maps.MarkerImage('resources/icons/a_new.ico',new google.maps.Size(100,106),new google.maps.Point(0,0),new google.maps.Point(50,50));
}else if(markerType = 3){
var b_icon = new google.maps.MarkerImage('resources/icons/b_new.ico',new google.maps.Size(100,106),new google.maps.Point(0,0),new google.maps.Point(50,50));
}else if(markerType = 4){
var citizen_icon = new google.maps.MarkerImage('resources/icons/c_new.ico',new google.maps.Size(100,106),new google.maps.Point(0,0),new google.maps.Point(50,50));
}
var citizenPosition = new google.maps.LatLng(citizens[i].latlng);
var citizenName = citizens[i].name;
var citizenMarker = new google.maps.Marker({
position: citizenPosition,
map:map,
icon:citizen_icon,
title:citizenName
});
}
})
JSON数据
{"name":"Damien Edwards","latlng":"10.67023300000000,-61.51530500000000","socialSecurityNumber":194302025,"citizenType":3},
{"name":"Raj Hassen","latlng":"10.67030000000000,-61.51530500000000","socialSecurityNumber":198501011,"citizenType":2},
{"name":"Richard Gibbs","latlng":"10.670044,-61.515305","socialSecurityNumber":198501012,"citizenType":2},
{"name":"Sylvester Macintosh","latlng":"10.670044,-61.515305","socialSecurityNumber":1985010122,"citizenType":3},
{"name":"Howard Bugario","latlng":"10.670044,-61.515305","socialSecurityNumber":1985121244,"citizenType":4},
{"name":"Lawerence Figaro","latlng":"10.670044,-61.515305","socialSecurityNumber":1985121245,"citizenType":4},
{"name":"Jessie Small","latlng":"10.670044,-61.515305","socialSecurityNumber":1999020214,"citizenType":3}]
;
一些测试表明,经纬度信息将返回经纬度位置 - (NAN,NAN)我想我通过它作为一个varible我需要想我需要把它们分开,并通过两个独立的参数之一lat和一个液化天然气到VAR citizenPosition = new google.maps.LatLng(citizens [i] .latlng);的 – devdar 2013-05-05 23:45:18
可能重复[如何返回从AJAX调用的响应?](http://stackoverflow.com/questions/14220321/how-to-return-the-response-from-an-ajax-call) – 2014-02-27 13:06:19