Ich erstelle eine Google Map, die standardmäßig ein paar Marker zeigt. Wenn der Benutzer einen bestimmten Ort eingibt, muss der Marker nur für diesen Ort verbleiben und die verbleibenden Arbeiten müssen verschwinden. Während die Markierungen und die Karten arbeiten, ist die Filterfunktionalität ist nicht working.My JS Code wie folgt:knockout- Google maps marker filter
function inintMap()
{
var map;
var bounds = new google.maps.LatLngBounds();
var mapOptions = {
mapTypeId : 'roadmap'
};
map = new google.maps.Map(document.getElementById('map'),mapOptions);
map.setTilt(45);
var locations = [
['London Eye, London', 51.503454,-0.119562],
['Palace of Westminster, London', 51.499633,-0.124755]
];
for (i=0; i < locations.length; i++)
{ var position = new google.maps.LatLng(locations [i][1],locations [i][2]);
bounds.extend (position);
marker = new google.maps.Marker({
position : position,
map : map,
title : locations [i][0]
});
map.fitBounds(bounds);
}
var vm = {
locations: ko.observableArray(locations)
};
vm.query = ko.observable('')
vm.search = function(value){
vm.locations.removeAll()
for(var x in locations) {
if(locations[x].name.toLowerCase().indexOf(value.toLowerCase()) >= 0) {
viewModel.locations.push(locations[x]);
}
}
}
vm.query.subscribe(vm.search);
ko.applyBindings(vm);
}
http://StackOverflow.com/Questions/500504/Why-isusing-for-in-in-array-Teratierung-a-bad-idea –
Gibt es irgendwelche Fehler in der Konsole? Inwiefern funktioniert es nicht? –