1

我正在为一个 drupal 站点开发这个应用程序。使用来自 api 站点的示例,我得到的地图可以与固定 javascript 的硬连线 html 一起正常工作。但我真的需要使用 ajax 并且具有相同数据的 ajax 函数只显示灰色框。

使用 alert() 我已经确认数据通过 ajax 调用正确进入函数,地图中心和缩放也是如此。一个关键的区别是硬连线的 html 在标签中使用了一个 onload="fcn()" 根据谷歌的例子,但我似乎需要在我的 . js文件而不是没有定义函数。当我尝试使用该函数时,它从未被触发。这段代码需要使用函数吗?诚然我没有很多javascript经验。这是我的js。第一行data 有一些参数,第二个是纬度,第三个是经度,最后一个是标记标题。

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]
          });

      }
    });
  });
4

2 回答 2

1

我也不能用<Body onload=“initialize()”&gt;。我离开了股票function initialize (),只是将此侦听器添加为我的地图脚本的最后一部分google.maps.event.addDomListener(window, "load", initialize);

于 2012-04-17T23:08:23.433 回答
0

我通过确保定义地图的坐标解决了同样的问题。我的地图显示为灰色的原因是浏览器没有提供地理位置信息。我为 lat 和 long 设置了默认值,现在地图出现了。

于 2014-03-18T16:02:26.370 回答