在点击事件中在Google地图中显示标记

时间:2013-11-16 22:42:32

标签: javascript jquery google-maps google-maps-api-3 onclick

我有以下脚本:

<script src="https://maps.googleapis.com/maps/api/js?sensor=false&libraries=visualization">
</script>
<script>
   var map;

  function initialize() {
    var mapOptions = {
      zoom: 5,
      center: new google.maps.LatLng(2.8,-187.3),
      mapTypeId: google.maps.MapTypeId.TERRAIN
    };
    map = new google.maps.Map(document.getElementById('map_canvas'),
          mapOptions);
    var script = document.createElement('script');
    script.src = 'geojson';
    document.getElementsByTagName('head')[0].appendChild(script);
  }
    window.eqfeed_callback = function(results) {
    for (var i = 0; i < results.features.length; i++) {
      var coords = results.features[i].geometry.coordinates;
      var latLng = new google.maps.LatLng(coords[1],coords[0]);
      var marker = new google.maps.Marker({
        position: latLng,
        map: map
      });
    }
  }

</script>

因为可以看出script.src是一个名为'geojson'的文件 我正在开发一个浏览器应用程序,用户点击下拉菜单中的一年。后端脚本被执行并生成一个新的geojson文件,其中包含geojson格式的新坐标。但是在重新加载页面之前,这些位置在当前地图中不可见。是否可以在脚本执行后1或2秒重新加载地图,或者是否有某种方式通过ajax发回数据,以便地图检测新位置并显示它们。 Thanx任何帮助。

1 个答案:

答案 0 :(得分:0)

我终于通过在click事件上调用此函数initialize()来完成此操作。因此,每次用户单击按钮时,都会调用此函数,现在script.src引用脚本形成的新geojson文件。