2012-04-12 4 views
0

Voici le pense ... J'ai une activité de base qui dérive de l'activité et dans l'une de mes activités dérivées j'ai besoin de montrer une carte google avec mon emplacement actuel. Si je n'utilise pas cette activité de base, je dériverai mon activité de l'activité de la carte et utiliserai le contrôle de carte com.google.android.maps.MapView. Mais comme je ne suis pas je ne peux pas ...Afficher google map en vue web sur monodroid

Alors j'ai essayé de tirer ma classe de base avec une activité de carte, mais même cette façon, il does't travail que j'ai toujours la même exception

Android .Views.InflateException: erreur classe com.google.android.maps.MapView gonflage

donc, je veux afficher une carte dans une vue web, mais je veux juste montrer la carte, sans barre d'outils de Google et ainsi sur ... je regarde dans le web pour trouver un moyen de le faire et j'ai trouvé quelques liens, l'un d'eux est this que j'ai beaucoup aimé mais je ne sais pas comment utiliser le javascript. Est-ce que quelqu'un peut m'aider?

Répondre

0

Donc, l'URL que vous chargez dans votre WebView dans l'échantillon est plus probable: http://gmaps-samples.googlecode.com/svn/trunk/articles-android-webmap/simple-android-map.html

Cette page html contient que JavaScript qui apparaît au bas de l'échantillon que vous lié. Vous aimerez avoir cela dans votre application comme un atout ou sur votre serveur afin qu'il puisse être facilement modifié.

La source de cette html est:

<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> 

Comme celui-ci utilise l'API JavaScript normale de Google Maps, vous pouvez désactiver le defaultUI facilement en ajoutant ceci au tableau myOptions:

disableDefaultUI: true, 

Tout comme les docs disent ici: https://developers.google.com/maps/documentation/javascript/controls#DisablingDefaults