Delphi xe5 for android 地理定位GPS

先上源码,在解释。

implementationuses androidapi.jni.JavaTypes, androidapi.jni.Location, FMX.helpers.android, androidapi.jni.GraphicsContentViewText, androidapi.jnibridge;// context在android的content.context包// ILocalObject在androidapi.jnibridge里// sharedActivitycontext在fmx.helpers里{$R *.fmx}// 用android的地理GPS定位函数procedure TForm1.Button1Click(Sender: TObject);const LGoogleMapURL: string = ‘https://maps.google.com/maps?q=%s,%s&output=embed’;var LocationManagerService: JObject; Location: JLocation; fLocationManager: JLocationManager;Lat: string; Lon: string; Alt: string;begin if not assigned(fLocationManager) then begin//获得Java对象 LocationManagerService := sharedActivitycontext.getSystemService(TJcontext.JavaClass.LOCATION_SERVICE);// 获得对象的java实例 fLocationManager := tjlocationmanager.Wrap((LocationManagerService as ILocalObject).GetObjectID);end;//调用Java的方法。 // use the gps provider to get current lat, long and altitude Location := fLocationManager.getLastKnownLocation(tjlocationmanager.JavaClass.GPS_PROVIDER);lat:=format(‘%2.6f’,[location.getLatitude]);lon:=format(‘%2.6f’,[location.getLongitude]);Alt := format(‘%2.6f’,[location.getAltitude]);edit1.Text:=lat;edit2.Text:=lon;WebBrowser1.Navigate(Format(LGoogleMapURL, [Lat, Lon]));end;end.

通过JNI调用Java服务,,基本就是这个步骤。

所以你不懂我的选择,也可以不懂我的难过,

Delphi xe5 for android 地理定位GPS

相关文章:

你感兴趣的文章:

标签云: