AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Cross-Platform-Entwicklung Delphi [Android] Wie eigenes Marker Icon verwenden für TmapView Marker
Thema durchsuchen
Ansicht
Themen-Optionen

[Android] Wie eigenes Marker Icon verwenden für TmapView Marker

Ein Thema von BBoy · begonnen am 28. Aug 2016 · letzter Beitrag vom 1. Sep 2016
Antwort Antwort
BBoy

Registriert seit: 17. Jan 2007
418 Beiträge
 
Delphi 10 Seattle Professional
 
#1

[Android] Wie eigenes Marker Icon verwenden für TmapView Marker

  Alt 28. Aug 2016, 17:57
Ich möchte ein eigenes Icon verwenden für die TMapMarker.

Mein Code:
Code:
var
  Position: TMapCoordinate;
begin

  position.Latitude := mapview1.Location.Latitude;
  position.Longitude := mapview1.Location.Longitude;

  MyMarker := TMapMarkerDescriptor.Create(Position, '*temp*');
  MyMarker.Draggable := True;
  Mymarker.Icon.LoadFromFile(TPath.GetDocumentsPath + PathDelim + 'icon_black.png');
  MyMarker.Visible :=True;
  MyMArker.Snippet := inttostr(fmarkers.Count);
  Fmarkers.Add(MapView1.AddMarker(MyMarker));
Der Pfad ist gültig und die Datei vorhanden. Lade ich die Bilddatei in ein Timage funktioniert es einwandfrei. Also sollte dies nicht das Problem sein.
Auch andere Versuche wie: Mymarker.Icon.CreateFromFile(TPath.GetDocumentsPat h + PathDelim + 'icon_black.png');
Funktionieren nicht. Es kommt immer eine Exception Segmentation Fault 11

hat jemand eine Idee die mich weiter helfen könnte?
  Mit Zitat antworten Zitat
BBoy

Registriert seit: 17. Jan 2007
418 Beiträge
 
Delphi 10 Seattle Professional
 
#2

AW: [Android] Wie eigenes Marker Icon verwenden für TmapView Marker

  Alt 1. Sep 2016, 13:02
Für mein Problem habe ich eine Notlösung gefunden. Ich habe das gewünschte Markericon in ein TImage geladen und dieses weise ich dem Icon zu:
Code:
MyMarker.Icon := Image1.Bitmap;
Funktioniert bestens. Hoffe aber eine bessere Lösung zu finden.
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu
Online

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.088 Beiträge
 
Delphi 12 Athens
 
#3

AW: [Android] Wie eigenes Marker Icon verwenden für TmapView Marker

  Alt 1. Sep 2016, 14:15
Hoffe aber eine bessere Lösung zu finden.
Direkt ein TBitmap oder TIcon oder eventuell auch ein anderes TGraphic verwenden?
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.
  Mit Zitat antworten Zitat
BBoy

Registriert seit: 17. Jan 2007
418 Beiträge
 
Delphi 10 Seattle Professional
 
#4

AW: [Android] Wie eigenes Marker Icon verwenden für TmapView Marker

  Alt 1. Sep 2016, 14:31
Kannst du das bitte etwas genauer erklären?

Ein Timage habe ich ja nun. Was bringt mir das Tbitmap für einen Vorteil?

Code:
Mymarker.Icon.LoadFromFile(TPath.GetDocumentsPath + PathDelim + 'icon_black.png');
So sollte es eigentlich funktionieren. Macht es aber nicht. Auch aus einer Imagelist heraus will es nicht.
Vielleicht ist die TMapView buggy, bei den vielen Problemen die ich damit habe
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu
Online

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.088 Beiträge
 
Delphi 12 Athens
 
#5

AW: [Android] Wie eigenes Marker Icon verwenden für TmapView Marker

  Alt 1. Sep 2016, 16:05
So sollte es eigentlich funktionieren. Macht es aber nicht.
Nein, sollte es nicht.
Man nimmt doch auch ein Notepad oder Paint, um sich eine Excel-Datei anzugucken.

Mymarker.Picture.Graphic ist die eigentliche "Bilddatei"-Instanz.

Mymarker.Icon oder Mymarker.Picture.Icon sorgen dafür, dass in Mymarker.Picture.Graphic eine TIcon-Instanz drin ist.
Mymarker.Bitmap oder Mymarker.Picture.Bitmap eben ein TBitmap.

Delphi-Referenz durchsuchenTBitmap kann nur Bitmaps (*.bmp) und Delphi-Referenz durchsuchenTIcon nur Icons (*.ico) aber Beides kann keine PNG.
Delphi-Referenz durchsuchenTPngImage?

Delphi-Referenz durchsuchenTImage ist eine "visuelle" Komponente, zum Anzigen von Bildern,
aber sowas nimmt man nicht, um programm-intern Bilder zu verwalten.

Dafür kann man TPicture verwenden (das nutzt auch TImage, sie Image.Picture) oder man nimmt eben direkt den gewünschten TGraphic-Nachfahren ala TBitmap, TIcon, TPngImage usw.

PS: bei TPicture registrieren sich fast alle TGraphic-Nachfahren (wenn deren Units eingebungen wurden), drum kann man auch Picture.LoadFromFile machen und das erstellt dann selber intern die zugehörige Graphic-Instanz und läd da das Bild rein.
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.

Geändert von himitsu ( 1. Sep 2016 um 16:08 Uhr)
  Mit Zitat antworten Zitat
BBoy

Registriert seit: 17. Jan 2007
418 Beiträge
 
Delphi 10 Seattle Professional
 
#6

AW: [Android] Wie eigenes Marker Icon verwenden für TmapView Marker

  Alt 1. Sep 2016, 19:34
Das klingt logisch und stimmt sicherlich für normale Grafikobjekte.
Ein MyMarker oder um genau zu sein FMX.Maps.TMapMarkerDescriptor.Icon hat nur ein Fmx::Graphics::TBitmap* Icon; sonst nichts! Kein Picture usw.

Ich kann nur

geht nicht
Mymarker.Icon.LoadFromFile(TPath.GetDocumentsPath + PathDelim + 'icon_black2.bmp');

geht nicht
Mymarker.Icon.LoadFromFile(TPath.GetDocumentsPath + PathDelim + 'icon_black2.png');

geht nicht
Mymarker.Icon.CreateFromFile(TPath.GetDocumentsPath + PathDelim + 'icon_black2.png');

geht:
image1.Bitmap.LoadFromFile(TPath.GetDocumentsPath + PathDelim + 'icon_black2.png');
MyMarker.Icon := Image1.Bitmap;


Eine Win32 anwendung mit TMS WebGmaps ist da wesentlich einfacher:
Marker.Icon := 'file://F:/eigene dateien/delphi_projekte/Pokemap/icon_black2.png';
Funktioniert bestens.


Entweder verstehe ich es nicht oder es geht wirklich nicht in diesem Fall.
Ich habe nur ein einziges Codesample gefunden dazu. und der macht es genau so. http://community.embarcadero.com/blo...rad-studio-xe8


Zitat:
Grafik des Kartenmarkers.
Icon ist die Grafik des Kartenmarkers als TBitmap.
Wenn kein TBitmap als Icon angegeben ist, wird die Standardmarkergrafik angezeigt.
nachzulesen hier: http://docwiki.embarcadero.com/Libra...escriptor.Icon

Geändert von BBoy ( 1. Sep 2016 um 19:45 Uhr)
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:45 Uhr.
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