我可以看到我无法在属性中指定 gmap 标记。我想我需要在这个标签内使用 a4j 函数。问题是我对这些东西完全是新手......谁能告诉我该怎么做?一步一步的解决方案将不胜感激...我有 api 键和地图组件(使用 lat 和 lng、缩放等)但需要在地图的中心留下一个标记...
<rich:gmap gmapVar="map" id="map" gmapKey="ABQIAAAAr_kWlyTgX4yfWopvtEcxDRRRDOqc_-HaCvCgl460ugpXPxZCkhQyHpWen4IabAs4w-La8EuEU92tPw"
我相信有一个简单的方法可以做到这一点......
更新:
<a4j:form>
<rich:gmap gmapVar="mapVar" gmapKey="ABQIAAAAr_kWlyTgX4yfWopvtEcxDRRRDOqc_-HaCvCgl460ugpXPxZCkhQyHpWen4IabAs4w-La8EuEU92tPw" lat="55.658471" lng="12.59084" mapType="G_NORMAL_MAP" zoom="12">
</rich:gmap>
<script type="text/javascript">
window.onload = function() {
mapVar.addOverlay(new GMarker(50, 12));
}
</script>
</a4j:form>
这一点不快乐,我尝试以编程方式做所有事情,但仍然不快乐。它显示标记,但每次(无论我的坐标是什么)它都显示在左上角。这是程序代码:
<head>
<title>map</title>
<script src="http://maps.google.com/maps?file=api&v=2&key=ABQIAAAAr_kWlyTgX4yfWopvtEcxDRRRDOqc_-HaCvCgl460ugpXPxZCkhQyHpWen4IabAs4w-La8EuEU92tPw"
type="text/javascript"></script>
<script type="text/javascript">
function initialize() {
if (GBrowserIsCompatible()) {
var map = new GMap2(document.getElementById("map_canvas"));
map.setCenter(new GLatLng(37.4419, -122.1419), 13);
map.setUIToDefault();
map.addOverlay(new GMarker(38, -130));
}
}
</script>
</head>
<body onload="initialize()" onunload="GUnload()">
<div id="map_canvas" style="width: 500px; height: 300px"></div>
</body>
请帮忙。
更新 2:map.jsp 文件的主体:
<f:view>
<html xmlns="http://www.w3.org/1999/xhtml">
<body>
<a4j:form>
<rich:gmap id="mapVar" gmapVar="mapVar" gmapKey="ABQIAAAAr_kWlyTgX4yfWopvtEcxDRRRDOqc_-HaCvCgl460ugpXPxZCkhQyHpWen4IabAs4w-La8EuEU92tPw" lat="55.664515" lng="12.579517" mapType="G_NORMAL_MAP" zoom="12">
</rich:gmap>
<script type="text/javascript">
window.onload = function() {
mapVar.addOverlay(new GMarker(new GLatLng(55.658471, 12.59084)));
}
</script>
</a4j:form>
</body>
</html>
</f:view>