使用 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);
我正在尝试使用 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);