Ich übergebe eine Zeichenfolge in ein verborgenes Feld auf der Seite und teile sie dann auf, um ein Array von Elementen zu erhalten, über die ich iterieren und mehrere Markierungen zu einer Google-Map hinzufügen kann. Wenn ich das Array fest codiere, funktioniert es gut, aber wenn ich versuche, den String zu teilen und den gleichen Code zu verwenden, funktioniert es nicht. Ich nehme an, da das Teilen der Zeichenfolge ein Zeichenfolgenarray anstelle von Array-Objekten erstellt. Wenn ich die Zeichenfolge aufspalte, endet das Array mit "['Smith Company', 33.61678, -111.90017]" mit den doppelten Anführungszeichen. Wie würde ich diese Elemente konvertieren, so dass ich sie genauso verwenden kann wie die fest codierten Werte?String-Array-Werte in Array-Objekt umwandeln
Ich füge die eckigen Klammern, einfache Anführungszeichen und vert bar in einem StringBuilder in den Code hinter. Verwenden Sie C# für das, wenn es einen Unterschied machen wird. Ich bin nicht damit verheiratet, es so zu machen, aber immer noch grün mit JavaScript, also war das meine erste Lösung. Meine erste String sieht wie folgt aus“
"['Jones Company', 26.16683, -98.23342]|['Smith Company', 33.61678, -111.90017]|['Bob Company', 29.70008, -98.03347]|['Blue Company', 37.71675, -122.21672]|['Red Company', 42.46692, -114.48342]"
Dank.
function initialize() {
var myOptions = {
zoom: 4,
center: new google.maps.LatLng(26.16683, -98.23342),
mapTypeId: google.maps.MapTypeId.ROADMAP
};
var map = new google.maps.Map(document.getElementById("map_canvas"), myOptions);
//What I try to use when the hard coded is commented out
var myString = document.getElementById('hdnString').value;
var myItems = new Array();
myItems = myString.split("|");
//Hard coded items that I comment out when trying the above
var myItems = [
['Jones Company', 26.16683, -98.23342],
['Smith Company', 33.61678, -111.90017],
['Bob Company', 37.71675, -122.21672],
['Blue Company', 42.46692, -114.48342],
['Red Company', 36.58339, -121.8335]
];
// Add markers to the map
for (var i in myItems){
var myLatLng = new google.maps.LatLng(myItems[i][1], myItems[i][2]);
var marker = new google.maps.Marker({
position: myLatLng,
map: map,
title: myItems[i][0]
});
}
}
Geben Sie uns die genaue Zeichenfolge Sie in dem verborgenen Bereich vorbei. – Triptych
Ich füge die eckigen Klammern, einfache Anführungszeichen und vert Balken in einem StringBuilder in dem Code dahinter. Verwenden Sie C# für das, wenn es einen Unterschied machen wird. Ich bin nicht damit verheiratet, es so zu machen, aber immer noch grün mit JavaScript, also war das meine erste Lösung. ['Jones Company', 26.16683, -98.23342] | 'Smith Company', 33.61678, -111.90017] | 'Bob Company', 29.70008, -98.03347 | | 'Blue Company', 37.71675, -122.21672 | ['Red Company', 42.46692, -114.48342] –