我正在为drupal网站开发此应用程序。使用api网站上的示例,我得到了地图,可以使用固定在其中的javascript的硬连线html。但我真的需要使用ajax,而具有相同数据的ajax函数只显示灰色框。
使用alert()我已经确认数据是通过ajax调用正确进入函数的,就像地图中心和缩放一样。一个关键的区别是,根据谷歌的例子,硬连线的html在标签中使用了onload =“fcn()”,但我似乎需要使用jquery“jQuery(document).ready(function(){”in my。 js文件而不是没有定义函数。当我尝试使用该函数时,它从未被触发。这段代码是否需要使用函数?不可否认我没有很多javascript经验。这是我的js。第一行的数据有一些参数,第二个是纬度,第三个是经度,最后一个是标记标题。
PS - 不知道为什么我不能得到最后一组});在代码框中显示。
jQuery(document).ready(function() {
jQuery.get('http://www.example/get_customer_geo', function(result) {
var rows = result.split(';');
var parms = rows[0].split(',');
var midlat = parseFloat(parms[0]);
var midlon = parseFloat(parms[1]);
var LatlngCtr = new google.maps.LatLng(midlat,midlon);
var zoomval = parms[2];
var latitude = rows[1].split(',');
var longitude = rows[2].split(',');
var titles = rows[3].split(',');
var myLatlng = new Array();
var marker = new Array();
for (i=0; i<latitude.length; i++)
{
myLatlng[i] = new google.maps.LatLng(parseFloat(latitude[i]),parseFloat(longitude[i]));
}
var myOptions = {
zoom: zoomval,
center: LatlngCtr,
mapTypeId: google.maps.MapTypeId.ROADMAP
}
var map = new google.maps.Map(document.getElementById("map_terr"), myOptions);
for (i=0; i<latitude.length; i++)
{
marker[i] = new google.maps.Marker({
position: myLatlng[i],
map: map,
title: titles[i]
});
}
});
});
答案 0 :(得分:1)
我也无法使用<Body onload=“initialize()”>
。我离开了股票function initialize ()
,只是添加了这个监听器作为我的地图脚本的最后一部分google.maps.event.addDomListener(window, "load", initialize);
答案 1 :(得分:0)
我通过确保定义地图的坐标来解决同样的问题。我的地图以灰色显示的原因是浏览器没有提供地理位置信息。我为lat和long设置了默认值,现在会显示地图。