у вас должен быть объект JSON вне вашего .each()
или .get()
метода, в зависимости от того, насколько вы хотите, чтобы он был (я предполагаю, что за пределами .get()
, поэтому мы будем использовать его для этого примера), а затем создайте объект JSON из ваших переменных внутри вашего .each()
.
var storage = {}
jQuery.get("markericons.xml", {}, function(data) {
jQuery(data).find("markericon").each(function() {
var icon = jQuery(this),
name = icon.attr("name");
storage[name] = {
url: 'images/icons/mapsprites.png',
size: new google.maps.Size(32, 37),
origin: new google.maps.Point(parseInt(icon.attr("x")),parseInt(icon.attr("y"))),
anchor: new google.maps.Point((origin.x+16),origin.y),
icon: new google.maps.MarkerImage(url, size, origin, anchor)
};
});
});
. Теперь вы можете получить доступ к материалам Google Maps по имени:
// for this purpose, let's say `name` is "reception":
console.log(storage.reception)
// => prints out { url: ..., size: ..., origin: ..., anchor: ..., icon: ... }
такжеваш оригинальный JS, вы дважды объявили icon
, поэтому я не совсем уверен, что вы хотите с этим делать.