我想在 PhoneGap 应用程序上使用 OpenStreetMap。
我的问题是PhoneGap 上没有触发点击事件。
下面的代码在普通浏览器中工作:
<!DOCTYPE HTML>
<html>
<head>
<title>OpenLayers Demo</title>
<style type="text/css">
html, body, #basicMap {
width: 100%;
height: 100%;
margin: 0;
}
</style>
<script src="http://www.openlayers.org/api/OpenLayers.js"></script>
<script>
function init() {
map = new OpenLayers.Map("basicMap");
var mapnik = new OpenLayers.Layer.OSM();
var fromProjection = new OpenLayers.Projection("EPSG:4326"); // Transform from WGS 1984
var toProjection = new OpenLayers.Projection("EPSG:900913"); // to Spherical Mercator Projection
var position = new OpenLayers.LonLat(7.55785346031189,50.3625329673905).transform( fromProjection, toProjection);
var zoom = 18;
map.addLayer(mapnik);
map.setCenter(position, zoom );
var markers = new OpenLayers.Layer.Markers( "Markers" );
map.addLayer(markers);
var marker = new OpenLayers.Marker(position);
marker.events.register("click", map , function(e){ alert("click");
});
markers.addMarker(marker);
}
</script>
</head>
<body onload="init();">
<div id="basicMap"></div>
</body>
</html>
当此代码在PhoneGap 中显示地图时,显示地图并显示标记。但是,当我单击标记时,什么也没有发生。
有谁知道为什么这不起作用。我正在使用 Android Emulator 并正在使用 Eclipse 创建 PhoneGapApplication。