gpt4 book ai didi

javascript - Knockout Object Literals 不适用于谷歌地图?

转载 作者:行者123 更新时间:2023-11-30 15:04:17 24 4
gpt4 key购买 nike

所以我有一个我正在处理的小型 map 项目,在我决定将 KnockoutJS 加入组合以处理一些事情之前一直运行良好。我已经通过一个可观察数组定义了我的标记,以便于在前端显示。但是,如果我尝试调用它在我的 map 中放置标记,则不会显示任何标记。如果我删除下面代码中的 lat/lng 对象文字(但将数字保留为数组的一部分)并通过

调用它们
markers()[i][1] 

markers()[i][2]

我分别得到了标记。哈!我翻阅了 knockout 文档,但没有找到任何关于此的信息。也不会抛出任何控制台错误 - 只是 map 上没有任何标记。非常感谢任何帮助!

var markers = ko.observableArray([
[{ Name: 'Eye On Entrepreneurs' }, { lat: 45.913750 }, { lng: -89.257755 }],
[{ Name: 'Trigs of Eagle River' }, { lat: 45.915717 }, { lng: -89.240019 }],
[{ Name: 'Eagle River Airport' }, { lat: 45.934099 }, { lng: -89.261834 }]
]);

function initMap() {
map = new google.maps.Map(document.getElementById('map'), {
center: {lat: 45.917034, lng: -89.248168},
zoom: 15,
disableDefaultUI: true
});

for (i = 0; i < markers().length; i++){
var position = new google.maps.LatLng(markers()[i].lat, markers()[i].lng);
marker = new google.maps.Marker({
position: position,
map: map,
title: markers()[i].name
});
}
}

最佳答案

我目前在办公室使用 KnockoutJS 和 OracleJET。

虽然它没有错,但直到现在我还没有看到一个 observableArray 中有更多数组的用例。我们只是将对象放在父 observableArray 中。我这样修改了你的代码:

this.markers = ko.observableArray([
{Name: 'Eye On Entrepreneurs', lat: 45.913750, lng: -89.257755},
{Name: 'Trigs of Eagle River', lat: 45.915717, lng: -89.240019},
{Name: 'Eagle River Airport', lat: 45.934099, lng: -89.261834}
]);

它工作正常。

你有一个拼写错误:将名称的“n”大写。 标题:self.markers()[i].Name

关于javascript - Knockout Object Literals 不适用于谷歌地图?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46028601/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com