使用 for 循环将坐标推送到 Google 地图 API

Using a for loop to push coordinates to Google Maps API

我正在尝试使用 for 循环 运行 通过坐标数组并在地图上的每个集合处添加一个标记。这就是我所拥有的。这是 运行在 App Inventor 中使用,因此调试受到限制。

  function addFavorites() {
        var element = window.AppInventor.getWebViewString();
        if (element.indexOf("initFavCoords") > -1)
        {
            var redMarkers = [];
            var str = element.slice(14);
            redMarkers = str.split(',');
            popUp(redMarkers + "testing"); //coordinates are store correctly at this point
            for(var i = 0; i < redMarkers.length; i++)
            {
                var lattitude = redMarkers[i].slice(0, (element.indexOf(";")));
                var longitude = redMarkers[i].slice(element.indexOf(";")+1);

                marker = new google.maps.Marker({
                    position: (new google.maps.LatLng(lattitude, longitude)),
                    map: map,
                    icon: "./redMarker.png"
                });
            }
            window.AppInventor.setWebViewString("initDone");
        }



  }

popUp() 不影响此功能

./redMarker.png 正在工作

我还在这个之前调用的另一个函数中初始化了地图。当这是 运行 时,地图显示但没有标记。我是 Google API 的新手,所以这可能是一个简单的错误。

注意:坐标以这种方式存储 [x1;y1,x2;y2]

var lattitude = redMarkers[i].slice(0, (element.indexOf(";")));
var longitude = redMarkers[i].slice(element.indexOf(";")+1);

这两行需要将元素更改为 redMarkers[i],所以它们看起来像:

var lattitude = redMarkers[i].slice(0, (redMarkers[i].indexOf(";")));
var longitude = redMarkers[i].slice(redMarkers[i].indexOf(";")+1);