在网站底部,我有一个谷歌地图插件。在这里你可以看到一个黑色标记。如果单击该标记,则会显示一个包含文本的框。
我希望无需先单击标记即可显示该框。
我想我可以通过在网站加载后模仿点击来解决这个问题,但我无法找到如何解决该特定标记点击的问题。
有人能提示我解决方案吗?如果不破坏整个Map,我无法解决这个问题:/ ..
非常感谢。
此问题涉及以下网站: http://prusiklackierbetrieb.de/neu/black/indexnewimages.html
我找到了创建信息窗口的位置。但是,当我从&#34更改事件时,请单击" to" load"或者" domready"它不会开火。我认为这是因为脚本是在这些事件触发后加载的。如何默认打开窗口?
代码段:
!function(a) {
"use strict";
var t = {
cntClass: "map",
mapClass: "map_model",
locationsClass: "map_locations",
marker: {
basic: "images/gmap_marker.png",
active: "images/gmap_marker_active.png"
},
styles: [],
onInit: !1
}
, o = {
map: {
x: -73.9924068,
y: 40.646197,
zoom: 14
},
locations: []
}
, n = function(t, o) {
var n = t.parent().find("." + o.locationsClass).find("li")
, e = [];
return n.length > 0 && n.each(function(t) {
var n = a(this);
n.data("x") && n.data("y") && (e[t] = {
x: n.data("x"),
y: n.data("y"),
basic: n.data("basic") ? n.data("basic") : o.marker.basic,
active: n.data("active") ? n.data("active") : o.marker.active
},
a.trim(n.html()) ? e[t].content = '<div class="iw-content">' + n.html() + "</div>" : e[t].content = !1)
}),
e
};
a.fn.googleMap = function(e) {
e = a.extend(!0, {}, t, e),
a(this).each(function() {
var t = a(this)
, s = a.extend(!0, {}, o, {
map: {
x: t.data("x"),
y: t.data("y"),
zoom: t.data("zoom")
},
locations: n(t, e)
})
, i = new google.maps.Map(this,{
center: new google.maps.LatLng(parseFloat(s.map.y),parseFloat(s.map.x)),
styles: e.styles,
zoom: s.map.zoom,
scrollwheel: !1
});
e.onInit && e.onInit.call(this, i);
var c = new google.maps.InfoWindow
, l = [];
for (var r in s.locations)
l[r] = new google.maps.Marker({
position: new google.maps.LatLng(parseFloat(s.locations[r].y),parseFloat(s.locations[r].x)),
map: i,
icon: s.locations[r].basic,
index: r
}),
s.locations[r].content && (google.maps.event.addListener(l[r], "DOMContentLoaded", function() {
for (var t in l)
l[t].setIcon(s.locations[t].basic);
c.setContent(s.locations[this.index].content),
c.open(i, this),
a(".gm-style-iw").parent().parent().addClass("gm-wrapper"),
this.setIcon(s.locations[this.index].active)
}),
google.maps.event.addListener(c, "closeclick", function() {
for (var a in l)
l[a].setIcon(s.locations[a].basic)
}));
google.maps.event.addDomListener(window, "resize", function() {
i.setCenter(new google.maps.LatLng(parseFloat(s.map.y),parseFloat(s.map.x)))
})
})
}}(jQuery);
答案 0 :(得分:0)
答案 1 :(得分:0)
地图加载到IFRAME中,因此您无法模拟IFRAME中的元素点击。 您可以使用Google Maps API进行该操作
更多信息: