InfoWindows中的函数调用

问题描述 投票:2回答:1

我常常有很多标记的地图(比方说代表商店)。我有infowindows显示标记所代表的商店的基本信息,然后,在infoWindow HTML上我想放一个按钮,例如,说“详细信息”。 infowindow的html很简单..信息窗口的html包含一个

input type="button" value="Show More" onclick="showMore(' + shopId + ');

每个标记的相关shopId明显不同......

问题是showMore函数必须声明为javascript的全局函数,否则infowindow找不到它。

让我们说所有代码(生成地图,放置标记,声明信息窗口等)都在一个名为function showShops() {}的函数中,而showMore(id)函数在showShops()函数内部,我可以告诉“onclick”事件来调用showMore ()函数里面的showShops函数?

只是为了检查我的代码,我已将其更改为onclick="alert(' + shopId + ') ..并且我正确地获得了相关商店ID的提醒。

javascript google-maps-api-3 onclick infowindow
1个回答
6
投票

信息窗口的内容可以是字符串或节点。

要实现它,您必须使用将在showShops()范围内创建的节点

这样一个节点的样本创建:

var content = document.createElement('div');
content.innerHTML = 'some text<br/>';

var button = content.appendChild(document.createElement('input'));
button.type = 'button';
button.value = 'click me!';

google.maps.event.addDomListener(button,'click', function(){showMore(id)});

简单演示:http://jsfiddle.net/doktormolle/8ZsSp/

© www.soinside.com 2019 - 2024. All rights reserved.