168 lines
7.2 KiB
HTML
168 lines
7.2 KiB
HTML
<!DOCTYPE html>
|
|
<html lang="en">
|
|
<head>
|
|
<meta charset="utf-8">
|
|
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
|
<meta name="viewport" content="width=device-width, height=device-height, initial-scale=1, user-scalable=no">
|
|
<meta name="description" content="API docs for the PolylineUpdates.from constructor from the Class PolylineUpdates class from the amap_map library, for the Dart programming language.">
|
|
<title>PolylineUpdates.from constructor - PolylineUpdates class - amap_map library - Dart API</title>
|
|
|
|
|
|
<link href="https://fonts.googleapis.com/css?family=Source+Code+Pro:500,400i,400,300|Source+Sans+Pro:400,300,700" rel="stylesheet">
|
|
<link href="https://fonts.googleapis.com/icon?family=Material+Icons" rel="stylesheet">
|
|
<link rel="stylesheet" href="../../static-assets/github.css">
|
|
<link rel="stylesheet" href="../../static-assets/styles.css">
|
|
<link rel="icon" href="../../static-assets/favicon.png">
|
|
|
|
</head>
|
|
|
|
<body data-base-href="../../"
|
|
data-using-base-href="false">
|
|
|
|
<div id="overlay-under-drawer"></div>
|
|
|
|
<header id="title">
|
|
<button id="sidenav-left-toggle" type="button"> </button>
|
|
<ol class="breadcrumbs gt-separated dark hidden-xs">
|
|
<li><a href="../../index.html">amap_map</a></li>
|
|
<li><a href="../../amap_map/amap_map-library.html">amap_map</a></li>
|
|
<li><a href="../../amap_map/PolylineUpdates-class.html">PolylineUpdates</a></li>
|
|
<li class="self-crumb">PolylineUpdates.from constructor</li>
|
|
</ol>
|
|
<div class="self-name">PolylineUpdates.from</div>
|
|
<form class="search navbar-right" role="search">
|
|
<input type="text" id="search-box" autocomplete="off" disabled class="form-control typeahead" placeholder="Loading search...">
|
|
</form>
|
|
</header>
|
|
|
|
<main>
|
|
|
|
<div id="dartdoc-sidebar-left" class="col-xs-6 col-sm-3 col-md-2 sidebar sidebar-offcanvas-left">
|
|
<header id="header-search-sidebar" class="hidden-l">
|
|
<form class="search-sidebar" role="search">
|
|
<input type="text" id="search-sidebar" autocomplete="off" disabled class="form-control typeahead" placeholder="Loading search...">
|
|
</form>
|
|
</header>
|
|
|
|
<ol class="breadcrumbs gt-separated dark hidden-l" id="sidebar-nav">
|
|
<li><a href="../../index.html">amap_map</a></li>
|
|
<li><a href="../../amap_map/amap_map-library.html">amap_map</a></li>
|
|
<li><a href="../../amap_map/PolylineUpdates-class.html">PolylineUpdates</a></li>
|
|
<li class="self-crumb">PolylineUpdates.from constructor</li>
|
|
</ol>
|
|
|
|
<h5>PolylineUpdates class</h5>
|
|
<ol>
|
|
|
|
<li class="section-title"><a href="../../amap_map/PolylineUpdates-class.html#constructors">Constructors</a></li>
|
|
<li><a href="../../amap_map/PolylineUpdates/PolylineUpdates.from.html">from</a></li>
|
|
|
|
<li class="section-title">
|
|
<a href="../../amap_map/PolylineUpdates-class.html#instance-properties">Properties</a>
|
|
</li>
|
|
<li><a href="../../amap_map/PolylineUpdates/hashCode.html">hashCode</a></li>
|
|
<li><a href="../../amap_map/PolylineUpdates/polylineIdsToRemove.html">polylineIdsToRemove</a></li>
|
|
<li><a href="../../amap_map/PolylineUpdates/polylinesToAdd.html">polylinesToAdd</a></li>
|
|
<li><a href="../../amap_map/PolylineUpdates/polylinesToChange.html">polylinesToChange</a></li>
|
|
<li class="inherited"><a href="https://api.flutter.dev/flutter/dart-core/Object/runtimeType.html">runtimeType</a></li>
|
|
|
|
<li class="section-title"><a href="../../amap_map/PolylineUpdates-class.html#instance-methods">Methods</a></li>
|
|
<li class="inherited"><a href="https://api.flutter.dev/flutter/dart-core/Object/noSuchMethod.html">noSuchMethod</a></li>
|
|
<li><a href="../../amap_map/PolylineUpdates/toMap.html">toMap</a></li>
|
|
<li><a href="../../amap_map/PolylineUpdates/toString.html">toString</a></li>
|
|
|
|
<li class="section-title"><a href="../../amap_map/PolylineUpdates-class.html#operators">Operators</a></li>
|
|
<li><a href="../../amap_map/PolylineUpdates/operator_equals.html">operator ==</a></li>
|
|
|
|
|
|
|
|
|
|
</ol>
|
|
</div><!--/.sidebar-offcanvas-left-->
|
|
|
|
<div id="dartdoc-main-content" class="col-xs-12 col-sm-9 col-md-8 main-content">
|
|
<div><h1><span class="kind-constructor">PolylineUpdates.from</span> constructor </h1></div>
|
|
|
|
<section class="multi-line-signature">
|
|
|
|
<span class="name ">PolylineUpdates.from</span>(<wbr><ol class="parameter-list"><li><span class="parameter" id="from-param-previous"><span class="type-annotation"><a href="https://api.flutter.dev/flutter/dart-core/Set-class.html">Set</a><span class="signature"><<wbr><span class="type-parameter"><a href="../../amap_map/Polyline-class.html">Polyline</a></span>></span></span> <span class="parameter-name">previous</span>, </span></li>
|
|
<li><span class="parameter" id="from-param-current"><span class="type-annotation"><a href="https://api.flutter.dev/flutter/dart-core/Set-class.html">Set</a><span class="signature"><<wbr><span class="type-parameter"><a href="../../amap_map/Polyline-class.html">Polyline</a></span>></span></span> <span class="parameter-name">current</span></span></li>
|
|
</ol>)
|
|
</section>
|
|
|
|
<section class="desc markdown">
|
|
<p>通过polyline的前后更新集合构造一个polylineUpdates</p>
|
|
</section>
|
|
|
|
<section class="summary source-code" id="source">
|
|
<h2><span>Implementation</span></h2>
|
|
<pre class="language-dart"><code class="language-dart">PolylineUpdates.from(Set<Polyline> previous, Set<Polyline> current) {
|
|
if (previous == null) {
|
|
previous = Set<Polyline>.identity();
|
|
}
|
|
|
|
if (current == null) {
|
|
current = Set<Polyline>.identity();
|
|
}
|
|
|
|
final Map<String, Polyline> previousPolylines = keyByPolylineId(previous);
|
|
final Map<String, Polyline> currentPolylines = keyByPolylineId(current);
|
|
|
|
final Set<String> prevPolylineIds = previousPolylines.keys.toSet();
|
|
final Set<String> currentPolylineIds = currentPolylines.keys.toSet();
|
|
|
|
Polyline idToCurrentPolyline(String id) {
|
|
return currentPolylines[id];
|
|
}
|
|
|
|
final Set<String> _polylineIdsToRemove =
|
|
prevPolylineIds.difference(currentPolylineIds);
|
|
|
|
final Set<Polyline> _polylinesToAdd = currentPolylineIds
|
|
.difference(prevPolylineIds)
|
|
.map(idToCurrentPolyline)
|
|
.toSet();
|
|
|
|
bool hasChanged(Polyline current) {
|
|
final Polyline previous = previousPolylines[current.id];
|
|
return current != previous;
|
|
}
|
|
|
|
final Set<Polyline> _polylinesToChange = currentPolylineIds
|
|
.intersection(prevPolylineIds)
|
|
.map(idToCurrentPolyline)
|
|
.where(hasChanged)
|
|
.toSet();
|
|
|
|
polylinesToAdd = _polylinesToAdd;
|
|
polylineIdsToRemove = _polylineIdsToRemove;
|
|
polylinesToChange = _polylinesToChange;
|
|
}</code></pre>
|
|
</section>
|
|
|
|
</div> <!-- /.main-content -->
|
|
|
|
<div id="dartdoc-sidebar-right" class="col-xs-6 col-sm-6 col-md-2 sidebar sidebar-offcanvas-right">
|
|
</div><!--/.sidebar-offcanvas-->
|
|
|
|
</main>
|
|
|
|
<footer>
|
|
<span class="no-break">
|
|
amap_map
|
|
1.1.0
|
|
</span>
|
|
|
|
</footer>
|
|
|
|
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
|
|
<script src="../../static-assets/typeahead.bundle.min.js"></script>
|
|
<script src="../../static-assets/highlight.pack.js"></script>
|
|
<script src="../../static-assets/URI.js"></script>
|
|
<script src="../../static-assets/script.js"></script>
|
|
|
|
|
|
</body>
|
|
|
|
</html>
|