多个标记在我的本地服务器上工作,但标记在我的实时站点上不工作。 http://www.sierracrestweb.com/dev/

时间:2018-10-04 21:03:21

标签: javascript jquery wordpress google-maps

这是下面的代码,完全在我的本地服务器上显示紫色图标,但标记未在我的网站上显示,我在google上搜索并尝试其他方法,但仍然遇到此问题,我猜这是由于多重加载API密钥错误,但是如果出现此错误,该如何解决?因为我已经删除了所有脚本,但仍然遇到问题。

<script>
var map;
var marker;
var infowindow;
var red_icon =  'http://maps.google.com/mapfiles/ms/icons/red-dot.png' ;
var purple_icon =  'http://maps.google.com/mapfiles/ms/icons/purple-dot.png';
    var locations = <?php get_all_locations() ?>;

    function initMap() {
    var america = {lat: 37.09024, lng: -95.712891};
    infowindow = new google.maps.InfoWindow();
    map = new google.maps.Map(document.getElementById('map'), {
        center: america,
        zoom: 7
    });
  var infowindow = new google.maps.InfoWindow();

   var marker, i;

    var i ; 
    for (i = 0; i < locations.length; i++) {

        marker = new google.maps.Marker({
            position: new google.maps.LatLng(locations[i][1], locations[i] 
    [2]),
            icon : purple_icon,
            map: map


        });
 google.maps.event.addListener(marker, 'click', (function(marker, i) {
    return function() {
      infowindow.setContent(locations[i][0]);
      infowindow.open(map, marker);
    }
  })(marker, i));
    }
 }

  <script async defer
  src="https://maps.googleapis.com/maps/api/js? 
  language=en&key=APIKEY&callback=initMap">
  </script>

1 个答案:

答案 0 :(得分:1)

如果标记创建在本地而不是服务器上进行,则它可能与代码本身无关。

我认为问题出在这一行。

var locations = <?php get_all_locations() ?>;

该函数很可能返回一个空白数组,由于该数组未在地图上绘制任何标记。

尝试在控制台中打印出返回数组的值,以确保您确实获得了正确的位置数组。

var locations = <?php get_all_locations() ?>;
console.log(locations);