【问题标题】:Getting App Inventor 2 variable values in an HTML/Javascript file在 HTML/Javascript 文件中获取 App Inventor 2 变量值
【发布时间】:2015-10-16 02:43:18
【问题描述】:

我正在设置一个简单的地图程序,供用户查看嵌入式 Google 地图上的位置。我有地图工作,但我想知道是否有办法让用户在 AI2 中输入坐标,然后在那里有地图中心。 这是我用来显示地图的 HTML 文件。

<!DOCTYPE html>
<html>
   <head>
     <meta charset="utf-8">
     <meta name="viewport" content="initial-scale=1.0, user-scalable=no" />
     <style type="text/css">
     html { height: 100% }
     body { height: 100%; margin: 0; padding: 0 }
     #map_canvas { height: 100% }
     </style>

     <script type="text/javascript" src="https://maps.googleapis.com/maps/api/js?&sensor=true&language=en"></script>

     <script type="text/javascript">
  function initialize() {
    var mapOptions = {
      center: new google.maps.LatLng(-34.397, 150.644),
      zoom: 8,
      mapTypeId: google.maps.MapTypeId.ROADMAP
     };
     map = new google.maps.Map(document.getElementById("map_canvas"), mapOptions);

    // Add a listener for the click event
    google.maps.event.addListener(map, 'click', showPosition);
  }

  function showPosition(event) {
    // display a marker on the map
    marker = new google.maps.Marker({
      position: event.latLng,
      map: map,
      icon: "./marker.png"
    });

    // print the selected position to the page title
    var position = event.latLng.lat().toFixed(6) + ", " + event.latLng.lng().toFixed(6);
    window.document.title = position;
  }
</script>
  </head>
  <body onload="initialize()">
    <div id="map_canvas" style="width:100%; height:100%"></div>
  </body>
</html>

【问题讨论】:

    标签: javascript html google-maps app-inventor


    【解决方案1】:

    是的,这是可能的。

    您可以使用WebViewString 在您的应用程序和WebViewer 之间来回传递值。在您的应用程序中,您获取并设置 WebViewer.WebViewString 属性。在您的webviewer 中,您使用其getWebViewString()setWebViewString(text) 方法打开一个包含引用window.AppInventor 对象的Javascript 的页面。

    有关完整示例,另请参阅以下snippet

    <!doctype html>
    <head>
      <meta name="author" content="puravidaapps.com">
      <meta charset="utf-8">
      <meta name="viewport" content="width=device-width, initial-scale=1">
      <title>Test</title>
    </head>
    <body>
      <script>
        document.write("The value from the app is<br />" + window.AppInventor.getWebViewString());
        window.AppInventor.setWebViewString("hello from Javascript")
      </script>
    </body>
    </html>
    

    【讨论】:

    • 谢谢。实际上,我正在查看有关如何实施地图的页面。
    猜你喜欢
    • 2015-05-12
    • 2018-07-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多