İşaretleyicilere eklenecek bilgi pencereleri için forEach()
yöntemini ve map()
yöntemini kullanarak haritama İşaretçiler ve bilgi pencereleri eklemeye çalışıyorum. Knockout.js kullanarak dizi yöntemleri ile Harita İşaretleyicileri Google Haritalar'a Ekleme
//String to display in info window
var content;
//Declare Map variable and markers array
var map;
var marker;
var markers = [];
// cache Info window in a variable
var window = new google.maps.InfoWindow({});
//Create Instance of a map from the Google maps api
//Grab the reference to the "map" id to display map
//Set the map options object properties
function initMap() {
map = new google.maps.Map(document.getElementById("map"), {
center: {lat: 40.440624, lng: -79.995888},
zoom: 8,
mapTypeId: google.maps.MapTypeId.ROADMAP
});
};
// tells the view model what to do when a change occurs
function gymLocation(value) {
this.name = ko.observable(value.name);
this.address = ko.observable(value.address);
this.description = ko.observable(value.description);
this.lat = ko.observable(value.lat);
this.lng = ko.observable(value.lng);
};
//ViewModel
function ViewModel() {
var self = this;
//Copies the values of initialLocations and stores them in sortedLocations(); observableArray
self.sortedLocations = ko.observableArray(initialLocations.slice());
//Adds new markers at each location in the initialLocations Array
self.sortedLocations().forEach(function(location) {
marker = new google.map.Marker({
position: location.latlng,
map: map,
title: location.name
});
markers.push(marker);
});
//Map info windows to each item in the markers array
self.markers.map(function(info) {
info.addListener('click', function() {
new google.maps.InfoWindow({
position: info.latlng,
map: map,
title: info.name
});
});
});
};
ko.applyBindings(ViewModel());
Tarayıcımdaki sayfayı yüklemek
, ben görüntülenmesini sağlamanın tek şey haritası kendisidir: İşte şimdiye kadar benim kodudur. Konsolun hataları olup olmadığını kontrol ettim ve ben bir şey özlüyor muyum? veya bu fonksiyon kapsamındaki bir konu olabilir mi?
Doğru hata mesajını aldığınıza emin misiniz? (Yani "Marker" yerine "marker" değil mi?). Ayrıca, kodunuzu biraz kırpmış olmanız durumunda sorununuzu çözmemize/tekrarlamaya daha kolay olurdu, rehberlik için [mcve] 'ye bakın. – Jeroen
Marker, google.maps.Marker yapıcısıdır. Marker değişken olarak nerede depolamaya çalışıyorum. – cperry24
Bu noktada google js script dosyası yüklü mü? –