2012-04-12 1 views
0

Вот думаю ... У меня есть базовая активность, которая происходит от Activity и в одном из моих производных действий мне нужно показать карту google с моим текущим местоположением. Если я не использовал этот базовый актив, я извлечу свою активность из активности карты и использую элемент управления com.google.android.maps.MapView Map. Но, как я не я не могу ...Показать карту google в веб-представлении на monodroid

Так я пытался получить мой базовый класс с картой деятельности, но даже так он does't работу я до сих пор то же исключение

Android .Views.InflateException: Ошибка класса накачивания com.google.android.maps.MapView

Итак, я хочу, чтобы отобразить карту в веб-просмотра, но я просто хочу, чтобы показать карту, ни Google панели инструментов и так на ... я смотрю в Интернете, чтобы найти способ сделать это, и я нашел некоторые ссылки, один из них - this, что мне очень понравилось, но я не знаю, как использовать javascript. Кто-нибудь может мне помочь?

ответ

0

Таким образом, URL, который вы загружаете в вашем WebView в образце, скорее всего: 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> 

Поскольку это использует обычный JavaScript API Карт Google можно отключить defaultUI легко путем добавления этого к myOptions массива:

disableDefaultUI: true, 

Так же, как документы здесь: https://developers.google.com/maps/documentation/javascript/controls#DisablingDefaults