我正在使用 flutter_map 将地图添加到我的项目中。我能够使用它并使用它的选项。但我想要一些在 flutter_map 中找不到的东西。
我想听位置变化并获取用户停止触摸屏幕时的最后位置。就像 GestureDetector 小部件中的 onTapUp 或 onLongPressUp 一样。
flutter_map 中有 onPositionChanged 选项,但每次位置改变时都会调用它,这是很多。一旦用户触摸屏幕,onPositionChanged 就会被调用,直到用户停止触摸屏幕。我可以从中获取最后的位置,但我想在位置发生变化时调用 API 以获取附近汽车的列表。每次调用 onPositionChanged 时都调用 API 并不好。
所以我希望能够在用户完成位置更改时(当他/她停止触摸屏幕时)调用 API。
这是我的 flutter_map 代码:
FlutterMap(
key: Key('map'),
mapController: main.mapController,
options: MapOptions(
center: LatLng(main.lat, main.long),
zoom: 14,
maxZoom: 18,
minZoom: 10,
onPositionChanged: (mapPosition, boolValue){
_lastposition = mapPosition.center;
}),
layers: [
TileLayerOptions(
errorImage: AssetImage('images/login_icon.png'),
urlTemplate:
"https://maps.wikimedia.org/osm-intl/{z}/{x}/{y}.png",
// subdomains: ['a', 'b', 'c'],
// subdomains: ['', '1', '2', '3', '4']
),
MarkerLayerOptions(
markers: main.markersStart +
main.markersDestination +
main.driverMarkers,
),
], …Run Code Online (Sandbox Code Playgroud) 我正在尝试从sql server数据库中获取一些数据并在json中打印,但是数据库中的某些数据位于UTF-8(阿拉伯语)中。我在网上搜索并尝试了许多解决方案,但是没有一个对我有效,任何帮助都将受到欢迎。这是我的代码:
<?php
$serverName = "127.0.0.1"; //serverName\instanceName
$connectionInfo = array( "Database"=>"filmnak_com_", "CharacterSet" => "UTF-8", "UID"=>"filmnak", "PWD"=>"G5j^wk44");
$conn = sqlsrv_connect( $serverName, $connectionInfo);
$sql = "SELECT CAST(ID AS INT) AS ID, CAST(Film AS TEXT) AS Film ,CAST(Name AS TEXT) Name FROM dbo.Movies";
$result = sqlsrv_query( $conn, $sql);
if( $result === false ) {
die( print_r( sqlsrv_errors(), true));
}
// looping through all results
// products node
$response["Info"] = array();
while ($row = sqlsrv_fetch_array($result)) {
// temp user array
$Info = array();
$Info["ID"] …Run Code Online (Sandbox Code Playgroud) 我正在尝试在 Flutter 中构建一个文件大小较小的发布应用程序。昨天发布的 apk 大小约为 16mb,但在我更新 flutter 后,大小变为 23mb。
经过一番研究,我发现 flutter 生成了包含所有 ABI 的应用程序包,并且在更新后,新的 API 已添加到 apk。
将应用程序添加到 android studio apk 分析器后,我可以看到其中的不同 ABI,如下所示:
x86_64 7.1mb
arm64-v8a 7mb
armeabi-v7a 6.8mb
Run Code Online (Sandbox Code Playgroud)
我可以用来flutter build apk --split-per-abi为不同的 ABI 生成 apk。现在的问题是,arm64-v8a系统可以运行x86_64apk吗?(或其他)。或者这些 ABI apk 版本中的任何一个都可以在所有设备中运行吗?
我不会在应用程序商店上发布我的应用程序,我只是将它放在我客户的网站上,他们的客户将从那里下载它(或者它会通过电子邮件发送给他们,......)。所以我需要一个适用于所有 android 设备的版本,而完整的捆绑版本太大了(23mb)。
编辑:
我刚刚x86_64在arm64-v8a设备上测试了构建,但没有安装。但armeabi-v7a版本确实安装了。
我正在开发一个 Android 应用程序,它有一个 Flutter WebView 插件来显示网页。它在我的手机(Android 8.1 LG V20)上完美运行。但在我朋友的手机(Android 9 xiaomi note 7 pro)上显示此错误:
我的代码:flutter_webview_plugin: ^0.3.8
import 'package:flutter/material.dart';
import 'package:flutter_webview_plugin/flutter_webview_plugin.dart';
class WebPage extends StatefulWidget {
final String url;
WebPage({
this.url,
});
@override
_WebPageState createState() => _WebPageState();
}
class _WebPageState extends State<WebPage> {
@override
void initState() {
super.initState();
print('url = ' + widget.url);
}
@override
Widget build(BuildContext context) {
String link = widget.url;
return WebviewScaffold(
url: link,
appBar: new AppBar(
centerTitle: true,
backgroundColor: Colors.green,
),
displayZoomControls: true,
);
}
} …Run Code Online (Sandbox Code Playgroud)