2016-04-20 5 views
1

Ich baue eine Probe OSMdroid App Mischen und Abgleichen aus verschiedenen Quellen.OSMDROID: Fehler: inkompatible Typen: IGeoPoint kann nicht in GeoPoint konvertiert werden

In this sample code Verwendung

import org.osmdroid.util.GeoPoint; 
... 
private void setOverlayLoc(Location overlayloc){ 
    GeoPoint overlocGeoPoint = new GeoPoint(overlayloc); 
    //--- 
    overlayItemArray.clear(); 

    OverlayItem newMyLocationItem = new OverlayItem(
     "My Location", "My Location", overlocGeoPoint); 
    overlayItemArray.add(newMyLocationItem); 
    } 
... 
    @Override 
    public void draw(Canvas canvas, MapView mapview, boolean arg2) { 
... 
    //overlayItemArray have only ONE element only, so I hard code to get(0) 
    GeoPoint in = overlayItemArray.get(0).getPoint(); 

Ich erhalte die Fehler gestartet (in Bezug auf die letzte Zeile oben):

error: incompatible types: IGeoPoint cannot be converted to GeoPoint

I Android bin mit Studio 2.0, 4.3 osmdroid, SLF4J 1.6 .1

Die Fehlermeldung macht für mich sehr wenig Sinn, da ich diese Klasse IGeoPoint nicht deklariert oder importiert habe. Irgendwelche Vorschläge, wie man das anstellt, würden sehr geschätzt werden.

Antwort

1

Problemumgehung: Ändern Sie die Osmdroid-Version von 4.3 auf 3.0.x. IGeoPoint Klasse existiert nicht in 3.0.x, aber in 4.3 tut es.

HINWEIS: Version 4.2 hat das gleiche Problem mit IMapController

Lösung: Ändern Erklärung private IGeoPoint startPoint; und das gleiche für IMapController und mein Code wurde kompatibel mit den Versionen 4.3 und höher.

3

OverlayItem.getPoint() gibt einen IGeoPoint zurück, und Projection.toPixels() benötigt einen IGeoPoint. Also:

IGeoPoint in = overlayItemArray.get(0).getPoint(); 

mapview.getProjection().toPixels(in, out); 

(und nicht auf eine ältere Version zurückgehen, aber ein Upgrade auf den neuesten one!)

+0

ist nicht explizit mit Projektionen zu tun. Lemme diesen Winkel überprüfen. GEWECKT! :) –

-2
import org.osmdroid.api.IMapController; 


private IMapController myMapController; 
Verwandte Themen