Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Cross-Platform-Entwicklung (https://www.delphipraxis.net/91-cross-platform-entwicklung/)
-   -   [Android] Karte von Tmaps wird nicht angezeigt (https://www.delphipraxis.net/189982-%5Bandroid%5D-karte-von-tmaps-wird-nicht-angezeigt.html)

BBoy 16. Aug 2016 16:14

[Android] Karte von Tmaps wird nicht angezeigt
 
Dies ist meine erste Android Anwendung (Delphi programmiere ich aber schon länger).
Habe mir dieses Tutorial herausgesucht: http://docwiki.embarcadero.com/RADSt...S_und_Android) Und dabei auch die Anweisungen von "Konfigurieren von Android-Anwendungen für die Verwendung von Google Maps" beachtet. API Key habe ich ebenfalls.
Als Plattform ist "Android SDK 24.3.3 32 bit" eingestellt und als Ziel mein "H30-U10" Internetverbindung ist Aktiv wenn ich die Anwendung starte und auch ansonsten Blockt nichts das Internet.

Ich Compiliere die Andorid Anwendung, diese wird auf meinem Handy ausgeführt, ich sehe auch das Formular aber in TMaps wird keine Karte angezeigt. Ich sehe davon nur unten Links "Google" und rechte die + - Buttons zum Zoomen.

Kann mir bitte jemand mögliche Fehlerquellen nennen?

Außerdem suche ich noch ein Tutorial wie man die Android SDKs in Delphi Seattle Installiert (außer das bei docwiki.embarcadero). Habe mir das 14er heruntergeladen, es ist auch im Ordner \PlatformSDKs\android-sdk-windows\platforms\android-14
aber Delphi zeigt mir "SDK 24.3.3 32 bit" an.

Vielen Dank für eure Hilfe.

MEissing 16. Aug 2016 16:38

AW: [Android] Karte von Tmaps wird nicht angezeigt
 
API Key auch eingetragen (richtige Konfiguration)?

BBoy 16. Aug 2016 16:49

AW: [Android] Karte von Tmaps wird nicht angezeigt
 
Ja, KEY ist eingetragen. Konfiguration laut diesem Tutorial: http://docwiki.embarcadero.com/RADSt...on_Google_Maps
Die Tutorials sind ja recht einfach gehalten...

Kann es am Handy liegen? Habe ClockWorkmod drauf und es ist gerootet. Im Emulator (Genymotion) kommt immer die Meldung das diese App nicht auf dem Gerät läuft. Denke aber da muss ich noch den PlayStore installieren.

himitsu 16. Aug 2016 17:47

AW: [Android] Karte von Tmaps wird nicht angezeigt
 
Genymotion "emuliert" doch einen x68er?
> Android läuft auf der Host-CPU und es wird kein ARM emuliert
> Android kann auf x86 (Intel), ARM, PowerPC (IBM/Apple) oder MIPS (Sun/HP) laufen
[edit] jupp https://www.genymotion.com/faq/#error-arm-application

Delphi kompiliert nur für ARM und benötigt mindestens ARM v7, NEON und 'ne brauchbare GPU.


Für's Andere weiß ich jetzt auch erstmal keinen Rat.

BBoy 17. Aug 2016 12:29

AW: [Android] Karte von Tmaps wird nicht angezeigt
 
Ich glaube für das ARM Problem gibt es eine Genymotion-ARM-Translation.

Ich habe mein App nun auf einem anderen Handy installiert und da besteht das gleiche Problem :(
Außerdem habe ich es auch mit dem heruntergeladenen Beispielcode versucht, ebenfalls ohne Erfolg.

Kann mir vielleicht jemand das mit dem Googlem maps api key genau erklären? Das entspricht nicht mehr dem Tutorial bei docwiki.embarcadero.
Wenn ich in meine console.developers bei Zugangsdaten schaue, sehe ich
Android Schlüssel 1 Erstellungsdatum Type Android und den Schlüssel.
mehr habe ich nicht gemacht.
Verwendung auf Ihre Android-Apps beschränken muss man nicht machen steht da.

Den Schlüssel habe ich in den Projektoptionen eingegeben. Berechtigung Maps ist gesetzt. Zugriff auf Netzwerkstatus ebenfalls.
Habe ich nun die Voraussetzungen damit meine app läuft??

BBoy 17. Aug 2016 14:55

AW: [Android] Karte von Tmaps wird nicht angezeigt
 
Habe nun auch den Paketnamen und den Fingerabruck bei Google angegeben. App funktioniert immer noch nicht :(
Die Api ist bei google aktiviert. Es wird aber kein Traffic für diese Api angezeigt.
Die Beispielapp LocationDemo funktioniert einwandfrei. Diese greift aber nicht auf die map api zu.

Was kann ich noch probieren?

MEissing 17. Aug 2016 16:03

AW: [Android] Karte von Tmaps wird nicht angezeigt
 
Dein Projekt hier mal hochladen (nur die Source/Projektdatei)?

BBoy 17. Aug 2016 17:43

AW: [Android] Karte von Tmaps wird nicht angezeigt
 
Liste der Anhänge anzeigen (Anzahl: 1)
Wie gesagt, es ist die original "Map Type Selector" Beispieldatei von docwiki.embarcadero

Dennoch habe ich sie mal angehängt.

Ich habe mittlerweile eher den Eindruck das es am Maps Api Key liegt. Vielleicht kann mir hierzu jemand die genaue Vorgehensweise sagen. Muss ich unbedingt die Option bei google "Verwendung auf Ihre Android-Apps beschränken" verwenden? Habe es mal versucht aber dennoch funktionierte meine App nicht.

Habe den Api-Key auch mal leicht verändert. Es hätte dann eigentlich eine Fehlmehrmeldung kommen sollen. Aber es kam nichts.

Gibt es keine Alternative zu Tmaps`?

MEissing 18. Aug 2016 09:10

AW: [Android] Karte von Tmaps wird nicht angezeigt
 
Liste der Anhänge anzeigen (Anzahl: 1)
(Es fehlt die PAS Datei :-))

Von den Projekteinstellungen:
Sieht gut aus!
- Internetzugriff gewährt
- Kartendienst aktiviert
- API Key vorhanden (die Richtigkeit kann ich nicht überprüfen :-)

....deswegen mal hier die Stelle in der Google Console, wo ich meinen API Key her habe:
Anhang 45710

Aus der URL
https://console.developers.google.com/apis/credentials

BBoy 18. Aug 2016 11:41

AW: [Android] Karte von Tmaps wird nicht angezeigt
 
Genau dort habe ich meinen Key auch her. Und wenn ich auf das Dasboard gehe steht da: Google Maps Android API deaktivieren. Die Statistiken werden nicht angezeigt da keine Daten vorhanden.

Wie hast du deinen Key in Delphi eingebunden damit er funktioniert? Ich habe ihn nur bei den Versionsinformationen der app eingetragen. Ist sonst noch etwas zu beachten? Hier ->"Verwendung auf Ihre Android-Apps beschränken" habe ich nichts eingestellt!


Hier die Maps.pas Datei, ist wie gesagt die originale aus den Beispielen:
Code:
//---------------------------------------------------------------------------

// This software is Copyright (c) 2015 Embarcadero Technologies, Inc.
// You may only use this software if you are an authorized licensee
// of an Embarcadero developer tools product.
// This software is considered a Redistributable as defined under
// the software license agreement that comes with the Embarcadero Products
// and is subject to that software license agreement.

//---------------------------------------------------------------------------

unit Maps;

interface

uses
  System.SysUtils, System.Types, System.UITypes, System.Classes,
  System.Variants,
  FMX.Types, FMX.Controls, FMX.Forms, FMX.Graphics, FMX.Dialogs,
  FMX.Controls.Presentation, FMX.StdCtrls, FMX.Layouts, FMX.ListBox, FMX.Edit,
  FMX.Maps, System.Sensors, System.Sensors.Components, IdBaseComponent,
  IdComponent, IdTCPConnection, IdTCPClient, IdExplicitTLSClientServerBase,
  IdMessageClient, IdIMAP4;

type
  TForm1 = class(TForm)
    TopToolBar: TToolBar;
    BottomToolBar: TToolBar;
    Label1: TLabel;
    edLat: TEdit;
    edLong: TEdit;
    Button1: TButton;
    MapView1: TMapView;
    Panel1: TPanel;
    GridPanelLayout1: TGridPanelLayout;
    SpeedButton1: TSpeedButton;
    SpeedButton2: TSpeedButton;
    SpeedButton3: TSpeedButton;
    TrackBar1: TTrackBar;
    procedure SpeedButton1Click(Sender: TObject);
    procedure SpeedButton2Click(Sender: TObject);
    procedure SpeedButton3Click(Sender: TObject);
    procedure Button1Click(Sender: TObject);
    procedure MapView1MapClick(const Position: TMapCoordinate);
    procedure TrackBar1Change(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.fmx}
{$R *.LgXhdpiPh.fmx ANDROID}

// -------------------For Normal button -----------------------------------------


procedure TForm1.Button1Click(Sender: TObject);
var
  mapCenter: TMapCoordinate;
begin
  mapCenter := TMapCoordinate.Create(StrToFloat(edLat.Text, TFormatSettings.Invariant),
    StrToFloat(edLong.Text, TFormatSettings.Invariant));
  MapView1.Location := mapCenter;
end;

procedure TForm1.MapView1MapClick(const Position: TMapCoordinate);
var
  MyMarker: TMapMarkerDescriptor;
begin
  MyMarker := TMapMarkerDescriptor.Create(Position, 'MyMarker');
  MyMarker.Draggable := True;
  MyMarker.Visible :=True;
  MapView1.AddMarker(MyMarker);
end;

procedure TForm1.SpeedButton1Click(Sender: TObject);
begin
  MapView1.MapType := TMapType.Normal;
  TrackBar1.Value := 0.0;
end;

// -------------------For Satellite button---------------------------------------

procedure TForm1.SpeedButton2Click(Sender: TObject);
begin
  MapView1.MapType := TMapType.Satellite;
  TrackBar1.Value := 0.0;
end;

// --------------------For Hybrid button-----------------------------------------

procedure TForm1.SpeedButton3Click(Sender: TObject);
begin
  MapView1.MapType := TMapType.Hybrid;
  TrackBar1.Value := 0.0;
end;

procedure TForm1.TrackBar1Change(Sender: TObject);
begin
MapView1.Bearing := TrackBar1.Value;
end;

end.


Alle Zeitangaben in WEZ +1. Es ist jetzt 20:35 Uhr.
Seite 1 von 2  1 2      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz