0

这是我的想法……我有一个从 Activity 派生的基本活动,在我的一个派生活动中,我需要显示带有我当前位置的谷歌地图。如果我没有使用此基本活动,我将从地图活动中派生活动并使用 com.google.android.maps.MapView 地图控件。但因为我不,我不能...

所以我试图用地图活动派生我的基类,但即使这样它也不起作用我仍然有同样的例外

Android.Views.InflateException:膨胀类 com.google.android.maps.MapView 时出错

所以,我想在网络视图中显示地图,但我只想显示地图,没有谷歌工具栏等等......我在网上寻找一种方法,我找到了一些链接,一个其中是非常喜欢的,但我不知道如何使用 javascript。有人能帮我吗?

4

1 回答 1

0

因此,您在示例中的 WebView 中加载的 URL 很可能是:http: //gmaps-samples.googlecode.com/svn/trunk/articles-android-webmap/simple-android-map.html

此 html 页面包含显示在您链接到的示例底部的 JavaScript。您希望将其作为资产在您的应用程序中或在您的服务器上,以便可以轻松地对其进行修改。

该html的来源是:

<html> 
<head> 
<meta name="viewport" content="initial-scale=1.0, user-scalable=no" /> 
<meta http-equiv="content-type" content="text/html; charset=UTF-8"/> 
<title>Simple V3 Map for Android</title> 

<script type="text/javascript" src="http://maps.google.com/maps/api/js?sensor=true"></script> 

<script type="text/javascript"> 
  var map;

  function initialize() {

    var latitude = 0;
    var longitude = 0;

    if (window.android){
      latitude = window.android.getLatitude();
      longitude = window.android.getLongitude();
    }

    var myLatlng = new google.maps.LatLng(latitude,longitude);

    var myOptions = {
      zoom: 8,
      center: myLatlng,
      mapTypeId: google.maps.MapTypeId.ROADMAP
    }

    map = new google.maps.Map(document.getElementById("map_canvas"), myOptions);
  }

  function centerAt(latitude, longitude){
    myLatlng = new google.maps.LatLng(latitude,longitude);  
    map.panTo(myLatlng);
  }
</script> 
</head> 
<body style="margin:0px; padding:0px;" onload="initialize()"> 
  <div id="map_canvas" style="width:100%; height:100%"></div> 
</body> 
</html>

由于这使用了普通的 Google Maps JavaScript API,您可以通过将其添加到myOptions数组中来轻松禁用 defaultUI:

disableDefaultUI: true,

就像这里的文档说的:https ://developers.google.com/maps/documentation/javascript/controls#DisablingDefaults

于 2012-05-29T09:29:31.200 回答