PhoneGap上的OpenStreetMap

时间:2013-02-12 21:17:54

标签: events cordova click openstreetmap

我想在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。

1 个答案:

答案 0 :(得分:0)

@Alexander,这不是一个明确的答案,只是一个提示,但你试过Leaflet.js看它是否有效?从未为PhoneGap开发,但我在Android / iOS设备上使用Leaflet有几个移动网站,没有任何麻烦。