react-native-maps 1.6.0 → 1.7.0-beta.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +19 -0
- package/android/build.gradle +1 -1
- package/android/gradle/wrapper/gradle-wrapper.properties +1 -1
- package/android/gradlew +153 -104
- package/android/src/main/java/com/rnmaps/maps/MapCircle.java +7 -5
- package/android/src/main/java/com/rnmaps/maps/MapFeature.java +2 -3
- package/android/src/main/java/com/rnmaps/maps/MapGradientPolyline.java +4 -5
- package/android/src/main/java/com/rnmaps/maps/MapHeatmap.java +3 -4
- package/android/src/main/java/com/rnmaps/maps/MapLocalTile.java +3 -3
- package/android/src/main/java/com/rnmaps/maps/MapMarker.java +7 -5
- package/android/src/main/java/com/rnmaps/maps/MapOverlay.java +16 -14
- package/android/src/main/java/com/rnmaps/maps/MapPolygon.java +7 -5
- package/android/src/main/java/com/rnmaps/maps/MapPolyline.java +7 -5
- package/android/src/main/java/com/rnmaps/maps/MapUrlTile.java +3 -3
- package/android/src/main/java/com/rnmaps/maps/MapView.java +48 -25
- package/ios/AirMaps/AIRMap.h +0 -1
- package/ios/AirMaps/AIRMap.m +0 -1
- package/ios/AirMaps/AIRMapManager.m +1 -8
- package/package.json +3 -3
package/README.md
CHANGED
|
@@ -607,6 +607,25 @@ Source: https://github.com/react-native-maps/react-native-maps/issues/1901
|
|
|
607
607
|
|
|
608
608
|
Source: https://github.com/react-native-maps/react-native-maps/issues/3957#issuecomment-924161121
|
|
609
609
|
|
|
610
|
+
#### onRegionChangeComplete() callback is called infinitely
|
|
611
|
+
|
|
612
|
+
If changing the state in `onRegionChangeComplete` is called infinitely, add a condition to limit these calls to occur only when the region change was done as a result of a user's action.
|
|
613
|
+
|
|
614
|
+
```javascript
|
|
615
|
+
onRegionChangeComplete={ (region, gesture) => {
|
|
616
|
+
// This fix only works on Google Maps because isGesture is NOT available on Apple Maps
|
|
617
|
+
if (!gesture.isGesture) {
|
|
618
|
+
return;
|
|
619
|
+
}
|
|
620
|
+
|
|
621
|
+
// You can use
|
|
622
|
+
dispatch({ type: "map_region", payload: { mapRegion: region }}); // if using useReducer
|
|
623
|
+
// setMapRegionState(region); // if using useState
|
|
624
|
+
}}
|
|
625
|
+
```
|
|
626
|
+
|
|
627
|
+
Source: https://github.com/react-native-maps/react-native-maps/issues/846#issuecomment-1210079461
|
|
628
|
+
|
|
610
629
|
## License
|
|
611
630
|
|
|
612
631
|
Copyright (c) 2017 Airbnb
|
package/android/build.gradle
CHANGED
|
@@ -47,6 +47,6 @@ dependencies {
|
|
|
47
47
|
implementation "com.google.android.gms:play-services-base:${safeExtGet('playServicesVersion', '18.1.0')}"
|
|
48
48
|
implementation "com.google.android.gms:play-services-maps:${safeExtGet('playServicesVersion', '18.0.2')}"
|
|
49
49
|
implementation "com.google.android.gms:play-services-location:20.0.0"
|
|
50
|
-
implementation 'com.google.maps.android:android-maps-utils:0
|
|
50
|
+
implementation 'com.google.maps.android:android-maps-utils:3.4.0'
|
|
51
51
|
implementation "androidx.work:work-runtime:2.7.1"
|
|
52
52
|
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
distributionBase=GRADLE_USER_HOME
|
|
2
2
|
distributionPath=wrapper/dists
|
|
3
|
-
distributionUrl=https\://services.gradle.org/distributions/gradle-7.
|
|
3
|
+
distributionUrl=https\://services.gradle.org/distributions/gradle-7.2-bin.zip
|
|
4
4
|
zipStoreBase=GRADLE_USER_HOME
|
|
5
5
|
zipStorePath=wrapper/dists
|
package/android/gradlew
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
#!/
|
|
1
|
+
#!/bin/sh
|
|
2
2
|
|
|
3
3
|
#
|
|
4
|
-
# Copyright 2015 the original
|
|
4
|
+
# Copyright © 2015-2021 the original authors.
|
|
5
5
|
#
|
|
6
6
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
7
7
|
# you may not use this file except in compliance with the License.
|
|
@@ -17,67 +17,101 @@
|
|
|
17
17
|
#
|
|
18
18
|
|
|
19
19
|
##############################################################################
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
20
|
+
#
|
|
21
|
+
# Gradle start up script for POSIX generated by Gradle.
|
|
22
|
+
#
|
|
23
|
+
# Important for running:
|
|
24
|
+
#
|
|
25
|
+
# (1) You need a POSIX-compliant shell to run this script. If your /bin/sh is
|
|
26
|
+
# noncompliant, but you have some other compliant shell such as ksh or
|
|
27
|
+
# bash, then to run this script, type that shell name before the whole
|
|
28
|
+
# command line, like:
|
|
29
|
+
#
|
|
30
|
+
# ksh Gradle
|
|
31
|
+
#
|
|
32
|
+
# Busybox and similar reduced shells will NOT work, because this script
|
|
33
|
+
# requires all of these POSIX shell features:
|
|
34
|
+
# * functions;
|
|
35
|
+
# * expansions «$var», «${var}», «${var:-default}», «${var+SET}»,
|
|
36
|
+
# «${var#prefix}», «${var%suffix}», and «$( cmd )»;
|
|
37
|
+
# * compound commands having a testable exit status, especially «case»;
|
|
38
|
+
# * various built-in commands including «command», «set», and «ulimit».
|
|
39
|
+
#
|
|
40
|
+
# Important for patching:
|
|
41
|
+
#
|
|
42
|
+
# (2) This script targets any POSIX shell, so it avoids extensions provided
|
|
43
|
+
# by Bash, Ksh, etc; in particular arrays are avoided.
|
|
44
|
+
#
|
|
45
|
+
# The "traditional" practice of packing multiple parameters into a
|
|
46
|
+
# space-separated string is a well documented source of bugs and security
|
|
47
|
+
# problems, so this is (mostly) avoided, by progressively accumulating
|
|
48
|
+
# options in "$@", and eventually passing that to Java.
|
|
49
|
+
#
|
|
50
|
+
# Where the inherited environment variables (DEFAULT_JVM_OPTS, JAVA_OPTS,
|
|
51
|
+
# and GRADLE_OPTS) rely on word-splitting, this is performed explicitly;
|
|
52
|
+
# see the in-line comments for details.
|
|
53
|
+
#
|
|
54
|
+
# There are tweaks for specific operating systems such as AIX, CygWin,
|
|
55
|
+
# Darwin, MinGW, and NonStop.
|
|
56
|
+
#
|
|
57
|
+
# (3) This script is generated from the Groovy template
|
|
58
|
+
# https://github.com/gradle/gradle/blob/master/subprojects/plugins/src/main/resources/org/gradle/api/internal/plugins/unixStartScript.txt
|
|
59
|
+
# within the Gradle project.
|
|
60
|
+
#
|
|
61
|
+
# You can find Gradle at https://github.com/gradle/gradle/.
|
|
62
|
+
#
|
|
23
63
|
##############################################################################
|
|
24
64
|
|
|
25
65
|
# Attempt to set APP_HOME
|
|
66
|
+
|
|
26
67
|
# Resolve links: $0 may be a link
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
68
|
+
app_path=$0
|
|
69
|
+
|
|
70
|
+
# Need this for daisy-chained symlinks.
|
|
71
|
+
while
|
|
72
|
+
APP_HOME=${app_path%"${app_path##*/}"} # leaves a trailing /; empty if no leading path
|
|
73
|
+
[ -h "$app_path" ]
|
|
74
|
+
do
|
|
75
|
+
ls=$( ls -ld "$app_path" )
|
|
76
|
+
link=${ls#*' -> '}
|
|
77
|
+
case $link in #(
|
|
78
|
+
/*) app_path=$link ;; #(
|
|
79
|
+
*) app_path=$APP_HOME$link ;;
|
|
80
|
+
esac
|
|
37
81
|
done
|
|
38
|
-
|
|
39
|
-
cd "
|
|
40
|
-
APP_HOME="`pwd -P`"
|
|
41
|
-
cd "$SAVED" >/dev/null
|
|
82
|
+
|
|
83
|
+
APP_HOME=$( cd "${APP_HOME:-./}" && pwd -P ) || exit
|
|
42
84
|
|
|
43
85
|
APP_NAME="Gradle"
|
|
44
|
-
APP_BASE_NAME
|
|
86
|
+
APP_BASE_NAME=${0##*/}
|
|
45
87
|
|
|
46
88
|
# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
|
|
47
89
|
DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"'
|
|
48
90
|
|
|
49
91
|
# Use the maximum available, or set MAX_FD != -1 to use that value.
|
|
50
|
-
MAX_FD=
|
|
92
|
+
MAX_FD=maximum
|
|
51
93
|
|
|
52
94
|
warn () {
|
|
53
95
|
echo "$*"
|
|
54
|
-
}
|
|
96
|
+
} >&2
|
|
55
97
|
|
|
56
98
|
die () {
|
|
57
99
|
echo
|
|
58
100
|
echo "$*"
|
|
59
101
|
echo
|
|
60
102
|
exit 1
|
|
61
|
-
}
|
|
103
|
+
} >&2
|
|
62
104
|
|
|
63
105
|
# OS specific support (must be 'true' or 'false').
|
|
64
106
|
cygwin=false
|
|
65
107
|
msys=false
|
|
66
108
|
darwin=false
|
|
67
109
|
nonstop=false
|
|
68
|
-
case "
|
|
69
|
-
CYGWIN* )
|
|
70
|
-
|
|
71
|
-
;;
|
|
72
|
-
|
|
73
|
-
darwin=true
|
|
74
|
-
;;
|
|
75
|
-
MSYS* | MINGW* )
|
|
76
|
-
msys=true
|
|
77
|
-
;;
|
|
78
|
-
NONSTOP* )
|
|
79
|
-
nonstop=true
|
|
80
|
-
;;
|
|
110
|
+
case "$( uname )" in #(
|
|
111
|
+
CYGWIN* ) cygwin=true ;; #(
|
|
112
|
+
Darwin* ) darwin=true ;; #(
|
|
113
|
+
MSYS* | MINGW* ) msys=true ;; #(
|
|
114
|
+
NONSTOP* ) nonstop=true ;;
|
|
81
115
|
esac
|
|
82
116
|
|
|
83
117
|
CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar
|
|
@@ -87,9 +121,9 @@ CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar
|
|
|
87
121
|
if [ -n "$JAVA_HOME" ] ; then
|
|
88
122
|
if [ -x "$JAVA_HOME/jre/sh/java" ] ; then
|
|
89
123
|
# IBM's JDK on AIX uses strange locations for the executables
|
|
90
|
-
JAVACMD
|
|
124
|
+
JAVACMD=$JAVA_HOME/jre/sh/java
|
|
91
125
|
else
|
|
92
|
-
JAVACMD
|
|
126
|
+
JAVACMD=$JAVA_HOME/bin/java
|
|
93
127
|
fi
|
|
94
128
|
if [ ! -x "$JAVACMD" ] ; then
|
|
95
129
|
die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME
|
|
@@ -98,7 +132,7 @@ Please set the JAVA_HOME variable in your environment to match the
|
|
|
98
132
|
location of your Java installation."
|
|
99
133
|
fi
|
|
100
134
|
else
|
|
101
|
-
JAVACMD=
|
|
135
|
+
JAVACMD=java
|
|
102
136
|
which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
|
|
103
137
|
|
|
104
138
|
Please set the JAVA_HOME variable in your environment to match the
|
|
@@ -106,80 +140,95 @@ location of your Java installation."
|
|
|
106
140
|
fi
|
|
107
141
|
|
|
108
142
|
# Increase the maximum file descriptors if we can.
|
|
109
|
-
if
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
fi
|
|
143
|
+
if ! "$cygwin" && ! "$darwin" && ! "$nonstop" ; then
|
|
144
|
+
case $MAX_FD in #(
|
|
145
|
+
max*)
|
|
146
|
+
MAX_FD=$( ulimit -H -n ) ||
|
|
147
|
+
warn "Could not query maximum file descriptor limit"
|
|
148
|
+
esac
|
|
149
|
+
case $MAX_FD in #(
|
|
150
|
+
'' | soft) :;; #(
|
|
151
|
+
*)
|
|
152
|
+
ulimit -n "$MAX_FD" ||
|
|
153
|
+
warn "Could not set maximum file descriptor limit to $MAX_FD"
|
|
154
|
+
esac
|
|
122
155
|
fi
|
|
123
156
|
|
|
124
|
-
#
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
157
|
+
# Collect all arguments for the java command, stacking in reverse order:
|
|
158
|
+
# * args from the command line
|
|
159
|
+
# * the main class name
|
|
160
|
+
# * -classpath
|
|
161
|
+
# * -D...appname settings
|
|
162
|
+
# * --module-path (only if needed)
|
|
163
|
+
# * DEFAULT_JVM_OPTS, JAVA_OPTS, and GRADLE_OPTS environment variables.
|
|
128
164
|
|
|
129
165
|
# For Cygwin or MSYS, switch paths to Windows format before running java
|
|
130
|
-
if
|
|
131
|
-
APP_HOME
|
|
132
|
-
CLASSPATH
|
|
133
|
-
|
|
134
|
-
JAVACMD
|
|
135
|
-
|
|
136
|
-
# We build the pattern for arguments to be converted via cygpath
|
|
137
|
-
ROOTDIRSRAW=`find -L / -maxdepth 1 -mindepth 1 -type d 2>/dev/null`
|
|
138
|
-
SEP=""
|
|
139
|
-
for dir in $ROOTDIRSRAW ; do
|
|
140
|
-
ROOTDIRS="$ROOTDIRS$SEP$dir"
|
|
141
|
-
SEP="|"
|
|
142
|
-
done
|
|
143
|
-
OURCYGPATTERN="(^($ROOTDIRS))"
|
|
144
|
-
# Add a user-defined pattern to the cygpath arguments
|
|
145
|
-
if [ "$GRADLE_CYGPATTERN" != "" ] ; then
|
|
146
|
-
OURCYGPATTERN="$OURCYGPATTERN|($GRADLE_CYGPATTERN)"
|
|
147
|
-
fi
|
|
166
|
+
if "$cygwin" || "$msys" ; then
|
|
167
|
+
APP_HOME=$( cygpath --path --mixed "$APP_HOME" )
|
|
168
|
+
CLASSPATH=$( cygpath --path --mixed "$CLASSPATH" )
|
|
169
|
+
|
|
170
|
+
JAVACMD=$( cygpath --unix "$JAVACMD" )
|
|
171
|
+
|
|
148
172
|
# Now convert the arguments - kludge to limit ourselves to /bin/sh
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
173
|
+
for arg do
|
|
174
|
+
if
|
|
175
|
+
case $arg in #(
|
|
176
|
+
-*) false ;; # don't mess with options #(
|
|
177
|
+
/?*) t=${arg#/} t=/${t%%/*} # looks like a POSIX filepath
|
|
178
|
+
[ -e "$t" ] ;; #(
|
|
179
|
+
*) false ;;
|
|
180
|
+
esac
|
|
181
|
+
then
|
|
182
|
+
arg=$( cygpath --path --ignore --mixed "$arg" )
|
|
158
183
|
fi
|
|
159
|
-
|
|
184
|
+
# Roll the args list around exactly as many times as the number of
|
|
185
|
+
# args, so each arg winds up back in the position where it started, but
|
|
186
|
+
# possibly modified.
|
|
187
|
+
#
|
|
188
|
+
# NB: a `for` loop captures its iteration list before it begins, so
|
|
189
|
+
# changing the positional parameters here affects neither the number of
|
|
190
|
+
# iterations, nor the values presented in `arg`.
|
|
191
|
+
shift # remove old arg
|
|
192
|
+
set -- "$@" "$arg" # push replacement arg
|
|
160
193
|
done
|
|
161
|
-
case $i in
|
|
162
|
-
0) set -- ;;
|
|
163
|
-
1) set -- "$args0" ;;
|
|
164
|
-
2) set -- "$args0" "$args1" ;;
|
|
165
|
-
3) set -- "$args0" "$args1" "$args2" ;;
|
|
166
|
-
4) set -- "$args0" "$args1" "$args2" "$args3" ;;
|
|
167
|
-
5) set -- "$args0" "$args1" "$args2" "$args3" "$args4" ;;
|
|
168
|
-
6) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" ;;
|
|
169
|
-
7) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" ;;
|
|
170
|
-
8) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" ;;
|
|
171
|
-
9) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" "$args8" ;;
|
|
172
|
-
esac
|
|
173
194
|
fi
|
|
174
195
|
|
|
175
|
-
#
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
196
|
+
# Collect all arguments for the java command;
|
|
197
|
+
# * $DEFAULT_JVM_OPTS, $JAVA_OPTS, and $GRADLE_OPTS can contain fragments of
|
|
198
|
+
# shell script including quotes and variable substitutions, so put them in
|
|
199
|
+
# double quotes to make sure that they get re-expanded; and
|
|
200
|
+
# * put everything else in single quotes, so that it's not re-expanded.
|
|
201
|
+
|
|
202
|
+
set -- \
|
|
203
|
+
"-Dorg.gradle.appname=$APP_BASE_NAME" \
|
|
204
|
+
-classpath "$CLASSPATH" \
|
|
205
|
+
org.gradle.wrapper.GradleWrapperMain \
|
|
206
|
+
"$@"
|
|
207
|
+
|
|
208
|
+
# Use "xargs" to parse quoted args.
|
|
209
|
+
#
|
|
210
|
+
# With -n1 it outputs one arg per line, with the quotes and backslashes removed.
|
|
211
|
+
#
|
|
212
|
+
# In Bash we could simply go:
|
|
213
|
+
#
|
|
214
|
+
# readarray ARGS < <( xargs -n1 <<<"$var" ) &&
|
|
215
|
+
# set -- "${ARGS[@]}" "$@"
|
|
216
|
+
#
|
|
217
|
+
# but POSIX shell has neither arrays nor command substitution, so instead we
|
|
218
|
+
# post-process each arg (as a line of input to sed) to backslash-escape any
|
|
219
|
+
# character that might be a shell metacharacter, then use eval to reverse
|
|
220
|
+
# that process (while maintaining the separation between arguments), and wrap
|
|
221
|
+
# the whole thing up as a single "set" statement.
|
|
222
|
+
#
|
|
223
|
+
# This will of course break if any of these variables contains a newline or
|
|
224
|
+
# an unmatched quote.
|
|
225
|
+
#
|
|
181
226
|
|
|
182
|
-
|
|
183
|
-
|
|
227
|
+
eval "set -- $(
|
|
228
|
+
printf '%s\n' "$DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS" |
|
|
229
|
+
xargs -n1 |
|
|
230
|
+
sed ' s~[^-[:alnum:]+,./:=@_]~\\&~g; ' |
|
|
231
|
+
tr '\n' ' '
|
|
232
|
+
)" '"$@"'
|
|
184
233
|
|
|
185
234
|
exec "$JAVACMD" "$@"
|
|
@@ -2,10 +2,10 @@ package com.rnmaps.maps;
|
|
|
2
2
|
|
|
3
3
|
import android.content.Context;
|
|
4
4
|
|
|
5
|
-
import com.google.android.gms.maps.GoogleMap;
|
|
6
5
|
import com.google.android.gms.maps.model.Circle;
|
|
7
6
|
import com.google.android.gms.maps.model.CircleOptions;
|
|
8
7
|
import com.google.android.gms.maps.model.LatLng;
|
|
8
|
+
import com.google.maps.android.collections.CircleManager;
|
|
9
9
|
|
|
10
10
|
public class MapCircle extends MapFeature {
|
|
11
11
|
|
|
@@ -89,12 +89,14 @@ public class MapCircle extends MapFeature {
|
|
|
89
89
|
}
|
|
90
90
|
|
|
91
91
|
@Override
|
|
92
|
-
public void addToMap(
|
|
93
|
-
|
|
92
|
+
public void addToMap(Object collection) {
|
|
93
|
+
CircleManager.Collection circleCollection = (CircleManager.Collection) collection;
|
|
94
|
+
circle = circleCollection.addCircle(getCircleOptions());
|
|
94
95
|
}
|
|
95
96
|
|
|
96
97
|
@Override
|
|
97
|
-
public void removeFromMap(
|
|
98
|
-
|
|
98
|
+
public void removeFromMap(Object collection) {
|
|
99
|
+
CircleManager.Collection circleCollection = (CircleManager.Collection) collection;
|
|
100
|
+
circleCollection.remove(circle);
|
|
99
101
|
}
|
|
100
102
|
}
|
|
@@ -3,16 +3,15 @@ package com.rnmaps.maps;
|
|
|
3
3
|
import android.content.Context;
|
|
4
4
|
|
|
5
5
|
import com.facebook.react.views.view.ReactViewGroup;
|
|
6
|
-
import com.google.android.gms.maps.GoogleMap;
|
|
7
6
|
|
|
8
7
|
public abstract class MapFeature extends ReactViewGroup {
|
|
9
8
|
public MapFeature(Context context) {
|
|
10
9
|
super(context);
|
|
11
10
|
}
|
|
12
11
|
|
|
13
|
-
public abstract void addToMap(
|
|
12
|
+
public abstract void addToMap(Object mapOrCollection);
|
|
14
13
|
|
|
15
|
-
public abstract void removeFromMap(
|
|
14
|
+
public abstract void removeFromMap(Object mapOrCollection);
|
|
16
15
|
|
|
17
16
|
public abstract Object getFeature();
|
|
18
17
|
}
|
|
@@ -321,14 +321,13 @@ public class MapGradientPolyline extends MapFeature {
|
|
|
321
321
|
}
|
|
322
322
|
|
|
323
323
|
@Override
|
|
324
|
-
public void addToMap(
|
|
325
|
-
|
|
326
|
-
this.
|
|
327
|
-
this.tileOverlay = map.addTileOverlay(createTileOverlayOptions());
|
|
324
|
+
public void addToMap(Object map) {
|
|
325
|
+
this.map = (GoogleMap) map;
|
|
326
|
+
this.tileOverlay = this.map.addTileOverlay(createTileOverlayOptions());
|
|
328
327
|
}
|
|
329
328
|
|
|
330
329
|
@Override
|
|
331
|
-
public void removeFromMap(
|
|
330
|
+
public void removeFromMap(Object map) {
|
|
332
331
|
tileOverlay.remove();
|
|
333
332
|
}
|
|
334
333
|
|
|
@@ -101,13 +101,12 @@ public class MapHeatmap extends MapFeature {
|
|
|
101
101
|
}
|
|
102
102
|
|
|
103
103
|
@Override
|
|
104
|
-
public void addToMap(
|
|
105
|
-
|
|
106
|
-
heatmap = map.addTileOverlay(getHeatmapOptions());
|
|
104
|
+
public void addToMap(Object map) {
|
|
105
|
+
heatmap = ((GoogleMap) map).addTileOverlay(getHeatmapOptions());
|
|
107
106
|
}
|
|
108
107
|
|
|
109
108
|
@Override
|
|
110
|
-
public void removeFromMap(
|
|
109
|
+
public void removeFromMap(Object map) {
|
|
111
110
|
heatmap.remove();
|
|
112
111
|
}
|
|
113
112
|
|
|
@@ -140,12 +140,12 @@ public class MapLocalTile extends MapFeature {
|
|
|
140
140
|
}
|
|
141
141
|
|
|
142
142
|
@Override
|
|
143
|
-
public void addToMap(
|
|
144
|
-
this.tileOverlay = map.addTileOverlay(getTileOverlayOptions());
|
|
143
|
+
public void addToMap(Object map) {
|
|
144
|
+
this.tileOverlay = ((GoogleMap) map).addTileOverlay(getTileOverlayOptions());
|
|
145
145
|
}
|
|
146
146
|
|
|
147
147
|
@Override
|
|
148
|
-
public void removeFromMap(
|
|
148
|
+
public void removeFromMap(Object map) {
|
|
149
149
|
tileOverlay.remove();
|
|
150
150
|
}
|
|
151
151
|
}
|
|
@@ -33,12 +33,12 @@ import com.facebook.imagepipeline.image.ImageInfo;
|
|
|
33
33
|
import com.facebook.imagepipeline.request.ImageRequest;
|
|
34
34
|
import com.facebook.imagepipeline.request.ImageRequestBuilder;
|
|
35
35
|
import com.facebook.react.bridge.ReadableMap;
|
|
36
|
-
import com.google.android.gms.maps.GoogleMap;
|
|
37
36
|
import com.google.android.gms.maps.model.BitmapDescriptor;
|
|
38
37
|
import com.google.android.gms.maps.model.BitmapDescriptorFactory;
|
|
39
38
|
import com.google.android.gms.maps.model.LatLng;
|
|
40
39
|
import com.google.android.gms.maps.model.Marker;
|
|
41
40
|
import com.google.android.gms.maps.model.MarkerOptions;
|
|
41
|
+
import com.google.maps.android.collections.MarkerManager;
|
|
42
42
|
|
|
43
43
|
public class MapMarker extends MapFeature {
|
|
44
44
|
|
|
@@ -427,17 +427,19 @@ public class MapMarker extends MapFeature {
|
|
|
427
427
|
}
|
|
428
428
|
|
|
429
429
|
@Override
|
|
430
|
-
public void addToMap(
|
|
431
|
-
|
|
430
|
+
public void addToMap(Object collection) {
|
|
431
|
+
MarkerManager.Collection markerCollection = (MarkerManager.Collection) collection;
|
|
432
|
+
marker = markerCollection.addMarker(getMarkerOptions());
|
|
432
433
|
updateTracksViewChanges();
|
|
433
434
|
}
|
|
434
435
|
|
|
435
436
|
@Override
|
|
436
|
-
public void removeFromMap(
|
|
437
|
+
public void removeFromMap(Object collection) {
|
|
437
438
|
if (marker == null) {
|
|
438
439
|
return;
|
|
439
440
|
}
|
|
440
|
-
|
|
441
|
+
MarkerManager.Collection markerCollection = (MarkerManager.Collection) collection;
|
|
442
|
+
markerCollection.remove(marker);
|
|
441
443
|
marker = null;
|
|
442
444
|
updateTracksViewChanges();
|
|
443
445
|
}
|
|
@@ -4,13 +4,13 @@ import android.content.Context;
|
|
|
4
4
|
import android.graphics.Bitmap;
|
|
5
5
|
|
|
6
6
|
import com.facebook.react.bridge.ReadableArray;
|
|
7
|
-
import com.google.android.gms.maps.GoogleMap;
|
|
8
7
|
import com.google.android.gms.maps.model.BitmapDescriptor;
|
|
9
8
|
import com.google.android.gms.maps.model.BitmapDescriptorFactory;
|
|
10
9
|
import com.google.android.gms.maps.model.GroundOverlay;
|
|
11
10
|
import com.google.android.gms.maps.model.GroundOverlayOptions;
|
|
12
11
|
import com.google.android.gms.maps.model.LatLng;
|
|
13
12
|
import com.google.android.gms.maps.model.LatLngBounds;
|
|
13
|
+
import com.google.maps.android.collections.GroundOverlayManager;
|
|
14
14
|
|
|
15
15
|
public class MapOverlay extends MapFeature implements ImageReadable {
|
|
16
16
|
|
|
@@ -24,7 +24,7 @@ public class MapOverlay extends MapFeature implements ImageReadable {
|
|
|
24
24
|
private float transparency;
|
|
25
25
|
|
|
26
26
|
private final ImageReader mImageReader;
|
|
27
|
-
private
|
|
27
|
+
private GroundOverlayManager.Collection groundOverlayCollection;
|
|
28
28
|
|
|
29
29
|
public MapOverlay(Context context) {
|
|
30
30
|
super(context);
|
|
@@ -107,24 +107,26 @@ public class MapOverlay extends MapFeature implements ImageReadable {
|
|
|
107
107
|
}
|
|
108
108
|
|
|
109
109
|
@Override
|
|
110
|
-
public void addToMap(
|
|
110
|
+
public void addToMap(Object collection) {
|
|
111
|
+
GroundOverlayManager.Collection groundOverlayCollection = (GroundOverlayManager.Collection) collection;
|
|
111
112
|
GroundOverlayOptions groundOverlayOptions = getGroundOverlayOptions();
|
|
112
113
|
if (groundOverlayOptions != null) {
|
|
113
|
-
|
|
114
|
-
|
|
114
|
+
groundOverlay = groundOverlayCollection.addGroundOverlay(groundOverlayOptions);
|
|
115
|
+
groundOverlay.setClickable(this.tappable);
|
|
115
116
|
} else {
|
|
116
|
-
this.
|
|
117
|
+
this.groundOverlayCollection = groundOverlayCollection;
|
|
117
118
|
}
|
|
118
119
|
}
|
|
119
120
|
|
|
120
121
|
@Override
|
|
121
|
-
public void removeFromMap(
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
122
|
+
public void removeFromMap(Object collection) {
|
|
123
|
+
if (groundOverlay != null) {
|
|
124
|
+
GroundOverlayManager.Collection groundOverlayCollection = (GroundOverlayManager.Collection) collection;
|
|
125
|
+
groundOverlayCollection.remove(groundOverlay);
|
|
126
|
+
groundOverlay = null;
|
|
127
|
+
groundOverlayOptions = null;
|
|
127
128
|
}
|
|
129
|
+
groundOverlayCollection = null;
|
|
128
130
|
}
|
|
129
131
|
|
|
130
132
|
@Override
|
|
@@ -152,12 +154,12 @@ public class MapOverlay extends MapFeature implements ImageReadable {
|
|
|
152
154
|
if (this.groundOverlay != null) {
|
|
153
155
|
return this.groundOverlay;
|
|
154
156
|
}
|
|
155
|
-
if (this.
|
|
157
|
+
if (this.groundOverlayCollection == null) {
|
|
156
158
|
return null;
|
|
157
159
|
}
|
|
158
160
|
GroundOverlayOptions groundOverlayOptions = getGroundOverlayOptions();
|
|
159
161
|
if (groundOverlayOptions != null) {
|
|
160
|
-
return this.
|
|
162
|
+
return this.groundOverlayCollection.addGroundOverlay(groundOverlayOptions);
|
|
161
163
|
}
|
|
162
164
|
return null;
|
|
163
165
|
}
|
|
@@ -4,10 +4,10 @@ import android.content.Context;
|
|
|
4
4
|
|
|
5
5
|
import com.facebook.react.bridge.ReadableArray;
|
|
6
6
|
import com.facebook.react.bridge.ReadableMap;
|
|
7
|
-
import com.google.android.gms.maps.GoogleMap;
|
|
8
7
|
import com.google.android.gms.maps.model.LatLng;
|
|
9
8
|
import com.google.android.gms.maps.model.Polygon;
|
|
10
9
|
import com.google.android.gms.maps.model.PolygonOptions;
|
|
10
|
+
import com.google.maps.android.collections.PolygonManager;
|
|
11
11
|
|
|
12
12
|
import java.util.ArrayList;
|
|
13
13
|
import java.util.List;
|
|
@@ -148,13 +148,15 @@ public class MapPolygon extends MapFeature {
|
|
|
148
148
|
}
|
|
149
149
|
|
|
150
150
|
@Override
|
|
151
|
-
public void addToMap(
|
|
152
|
-
|
|
151
|
+
public void addToMap(Object collection) {
|
|
152
|
+
PolygonManager.Collection polygonCollection = (PolygonManager.Collection) collection;
|
|
153
|
+
polygon = polygonCollection.addPolygon(getPolygonOptions());
|
|
153
154
|
polygon.setClickable(this.tappable);
|
|
154
155
|
}
|
|
155
156
|
|
|
156
157
|
@Override
|
|
157
|
-
public void removeFromMap(
|
|
158
|
-
|
|
158
|
+
public void removeFromMap(Object collection) {
|
|
159
|
+
PolygonManager.Collection polygonCollection = (PolygonManager.Collection) collection;
|
|
160
|
+
polygonCollection.remove(polygon);
|
|
159
161
|
}
|
|
160
162
|
}
|
|
@@ -4,7 +4,6 @@ import android.content.Context;
|
|
|
4
4
|
|
|
5
5
|
import com.facebook.react.bridge.ReadableArray;
|
|
6
6
|
import com.facebook.react.bridge.ReadableMap;
|
|
7
|
-
import com.google.android.gms.maps.GoogleMap;
|
|
8
7
|
import com.google.android.gms.maps.model.Cap;
|
|
9
8
|
import com.google.android.gms.maps.model.Dash;
|
|
10
9
|
import com.google.android.gms.maps.model.Dot;
|
|
@@ -14,6 +13,7 @@ import com.google.android.gms.maps.model.PatternItem;
|
|
|
14
13
|
import com.google.android.gms.maps.model.Polyline;
|
|
15
14
|
import com.google.android.gms.maps.model.PolylineOptions;
|
|
16
15
|
import com.google.android.gms.maps.model.RoundCap;
|
|
16
|
+
import com.google.maps.android.collections.PolylineManager;
|
|
17
17
|
|
|
18
18
|
import java.util.ArrayList;
|
|
19
19
|
import java.util.List;
|
|
@@ -150,13 +150,15 @@ public class MapPolyline extends MapFeature {
|
|
|
150
150
|
}
|
|
151
151
|
|
|
152
152
|
@Override
|
|
153
|
-
public void addToMap(
|
|
154
|
-
|
|
153
|
+
public void addToMap(Object collection) {
|
|
154
|
+
PolylineManager.Collection polylineCollection = (PolylineManager.Collection) collection;
|
|
155
|
+
polyline = polylineCollection.addPolyline(getPolylineOptions());
|
|
155
156
|
polyline.setClickable(this.tappable);
|
|
156
157
|
}
|
|
157
158
|
|
|
158
159
|
@Override
|
|
159
|
-
public void removeFromMap(
|
|
160
|
-
|
|
160
|
+
public void removeFromMap(Object collection) {
|
|
161
|
+
PolylineManager.Collection polylineCollection = (PolylineManager.Collection) collection;
|
|
162
|
+
polylineCollection.remove(polyline);
|
|
161
163
|
}
|
|
162
164
|
}
|
|
@@ -196,12 +196,12 @@ public class MapUrlTile extends MapFeature {
|
|
|
196
196
|
}
|
|
197
197
|
|
|
198
198
|
@Override
|
|
199
|
-
public void addToMap(
|
|
200
|
-
this.tileOverlay = map.addTileOverlay(getTileOverlayOptions());
|
|
199
|
+
public void addToMap(Object map) {
|
|
200
|
+
this.tileOverlay = ((GoogleMap) map).addTileOverlay(getTileOverlayOptions());
|
|
201
201
|
}
|
|
202
202
|
|
|
203
203
|
@Override
|
|
204
|
-
public void removeFromMap(
|
|
204
|
+
public void removeFromMap(Object map) {
|
|
205
205
|
tileOverlay.remove();
|
|
206
206
|
}
|
|
207
207
|
}
|
|
@@ -52,6 +52,11 @@ import com.google.android.gms.maps.model.Polyline;
|
|
|
52
52
|
import com.google.android.gms.maps.model.TileOverlay;
|
|
53
53
|
import com.google.android.gms.maps.model.IndoorBuilding;
|
|
54
54
|
import com.google.android.gms.maps.model.IndoorLevel;
|
|
55
|
+
import com.google.maps.android.collections.CircleManager;
|
|
56
|
+
import com.google.maps.android.collections.GroundOverlayManager;
|
|
57
|
+
import com.google.maps.android.collections.MarkerManager;
|
|
58
|
+
import com.google.maps.android.collections.PolygonManager;
|
|
59
|
+
import com.google.maps.android.collections.PolylineManager;
|
|
55
60
|
import com.google.maps.android.data.kml.KmlContainer;
|
|
56
61
|
import com.google.maps.android.data.kml.KmlLayer;
|
|
57
62
|
import com.google.maps.android.data.kml.KmlPlacemark;
|
|
@@ -73,6 +78,15 @@ import static androidx.core.content.PermissionChecker.checkSelfPermission;
|
|
|
73
78
|
public class MapView extends com.google.android.gms.maps.MapView implements GoogleMap.InfoWindowAdapter,
|
|
74
79
|
GoogleMap.OnMarkerDragListener, OnMapReadyCallback, GoogleMap.OnPoiClickListener, GoogleMap.OnIndoorStateChangeListener {
|
|
75
80
|
public GoogleMap map;
|
|
81
|
+
private MarkerManager markerManager;
|
|
82
|
+
private MarkerManager.Collection markerCollection;
|
|
83
|
+
private PolylineManager polylineManager;
|
|
84
|
+
private PolylineManager.Collection polylineCollection;
|
|
85
|
+
private PolygonManager polygonManager;
|
|
86
|
+
private PolygonManager.Collection polygonCollection;
|
|
87
|
+
private CircleManager.Collection circleCollection;
|
|
88
|
+
private GroundOverlayManager groundOverlayManager;
|
|
89
|
+
private GroundOverlayManager.Collection groundOverlayCollection;
|
|
76
90
|
private ProgressBar mapLoadingProgressBar;
|
|
77
91
|
private RelativeLayout mapLoadingLayout;
|
|
78
92
|
private ImageView cacheImageView;
|
|
@@ -214,8 +228,20 @@ public class MapView extends com.google.android.gms.maps.MapView implements Goog
|
|
|
214
228
|
return;
|
|
215
229
|
}
|
|
216
230
|
this.map = map;
|
|
217
|
-
|
|
218
|
-
|
|
231
|
+
|
|
232
|
+
markerManager = new MarkerManager(map);
|
|
233
|
+
markerCollection = markerManager.newCollection();
|
|
234
|
+
polylineManager = new PolylineManager(map);
|
|
235
|
+
polylineCollection = polylineManager.newCollection();
|
|
236
|
+
polygonManager = new PolygonManager(map);
|
|
237
|
+
polygonCollection = polygonManager.newCollection();
|
|
238
|
+
CircleManager circleManager = new CircleManager(map);
|
|
239
|
+
circleCollection = circleManager.newCollection();
|
|
240
|
+
groundOverlayManager = new GroundOverlayManager(map);
|
|
241
|
+
groundOverlayCollection = groundOverlayManager.newCollection();
|
|
242
|
+
|
|
243
|
+
markerCollection.setInfoWindowAdapter(this);
|
|
244
|
+
markerCollection.setOnMarkerDragListener(this);
|
|
219
245
|
this.map.setOnPoiClickListener(this);
|
|
220
246
|
this.map.setOnIndoorStateChangeListener(this);
|
|
221
247
|
|
|
@@ -246,13 +272,12 @@ public class MapView extends com.google.android.gms.maps.MapView implements Goog
|
|
|
246
272
|
}
|
|
247
273
|
});
|
|
248
274
|
|
|
249
|
-
|
|
275
|
+
markerCollection.setOnMarkerClickListener(new GoogleMap.OnMarkerClickListener() {
|
|
250
276
|
@Override
|
|
251
|
-
public boolean onMarkerClick(Marker marker) {
|
|
252
|
-
WritableMap event;
|
|
277
|
+
public boolean onMarkerClick(@NonNull Marker marker) {
|
|
253
278
|
MapMarker airMapMarker = getMarkerMap(marker);
|
|
254
279
|
|
|
255
|
-
event = makeClickEventData(marker.getPosition());
|
|
280
|
+
WritableMap event = makeClickEventData(marker.getPosition());
|
|
256
281
|
event.putString("action", "marker-press");
|
|
257
282
|
event.putString("id", airMapMarker.getIdentifier());
|
|
258
283
|
manager.pushEvent(context, view, "onMarkerPress", event);
|
|
@@ -274,30 +299,28 @@ public class MapView extends com.google.android.gms.maps.MapView implements Goog
|
|
|
274
299
|
}
|
|
275
300
|
});
|
|
276
301
|
|
|
277
|
-
|
|
302
|
+
polygonCollection.setOnPolygonClickListener(new GoogleMap.OnPolygonClickListener() {
|
|
278
303
|
@Override
|
|
279
|
-
public void onPolygonClick(Polygon polygon) {
|
|
304
|
+
public void onPolygonClick(@NonNull Polygon polygon) {
|
|
280
305
|
WritableMap event = makeClickEventData(tapLocation);
|
|
281
306
|
event.putString("action", "polygon-press");
|
|
282
307
|
manager.pushEvent(context, polygonMap.get(polygon), "onPress", event);
|
|
283
308
|
}
|
|
284
309
|
});
|
|
285
310
|
|
|
286
|
-
|
|
311
|
+
polylineCollection.setOnPolylineClickListener(new GoogleMap.OnPolylineClickListener() {
|
|
287
312
|
@Override
|
|
288
|
-
public void onPolylineClick(Polyline polyline) {
|
|
313
|
+
public void onPolylineClick(@NonNull Polyline polyline) {
|
|
289
314
|
WritableMap event = makeClickEventData(tapLocation);
|
|
290
315
|
event.putString("action", "polyline-press");
|
|
291
316
|
manager.pushEvent(context, polylineMap.get(polyline), "onPress", event);
|
|
292
317
|
}
|
|
293
318
|
});
|
|
294
319
|
|
|
295
|
-
|
|
320
|
+
markerCollection.setOnInfoWindowClickListener(new GoogleMap.OnInfoWindowClickListener() {
|
|
296
321
|
@Override
|
|
297
|
-
public void onInfoWindowClick(Marker marker) {
|
|
298
|
-
WritableMap event;
|
|
299
|
-
|
|
300
|
-
event = makeClickEventData(marker.getPosition());
|
|
322
|
+
public void onInfoWindowClick(@NonNull Marker marker) {
|
|
323
|
+
WritableMap event = makeClickEventData(marker.getPosition());
|
|
301
324
|
event.putString("action", "callout-press");
|
|
302
325
|
manager.pushEvent(context, view, "onCalloutPress", event);
|
|
303
326
|
|
|
@@ -315,7 +338,7 @@ public class MapView extends com.google.android.gms.maps.MapView implements Goog
|
|
|
315
338
|
|
|
316
339
|
map.setOnMapClickListener(new GoogleMap.OnMapClickListener() {
|
|
317
340
|
@Override
|
|
318
|
-
public void onMapClick(LatLng point) {
|
|
341
|
+
public void onMapClick(@NonNull LatLng point) {
|
|
319
342
|
WritableMap event = makeClickEventData(point);
|
|
320
343
|
event.putString("action", "press");
|
|
321
344
|
manager.pushEvent(context, view, "onPress", event);
|
|
@@ -324,16 +347,16 @@ public class MapView extends com.google.android.gms.maps.MapView implements Goog
|
|
|
324
347
|
|
|
325
348
|
map.setOnMapLongClickListener(new GoogleMap.OnMapLongClickListener() {
|
|
326
349
|
@Override
|
|
327
|
-
public void onMapLongClick(LatLng point) {
|
|
350
|
+
public void onMapLongClick(@NonNull LatLng point) {
|
|
328
351
|
WritableMap event = makeClickEventData(point);
|
|
329
352
|
event.putString("action", "long-press");
|
|
330
353
|
manager.pushEvent(context, view, "onLongPress", makeClickEventData(point));
|
|
331
354
|
}
|
|
332
355
|
});
|
|
333
356
|
|
|
334
|
-
|
|
357
|
+
groundOverlayCollection.setOnGroundOverlayClickListener(new GoogleMap.OnGroundOverlayClickListener() {
|
|
335
358
|
@Override
|
|
336
|
-
public void onGroundOverlayClick(GroundOverlay groundOverlay) {
|
|
359
|
+
public void onGroundOverlayClick(@NonNull GroundOverlay groundOverlay) {
|
|
337
360
|
WritableMap event = makeClickEventData(groundOverlay.getPosition());
|
|
338
361
|
event.putString("action", "overlay-press");
|
|
339
362
|
manager.pushEvent(context, overlayMap.get(groundOverlay), "onPress", event);
|
|
@@ -655,7 +678,7 @@ public class MapView extends com.google.android.gms.maps.MapView implements Goog
|
|
|
655
678
|
// This is where we intercept them and do the appropriate underlying mapview action.
|
|
656
679
|
if (child instanceof MapMarker) {
|
|
657
680
|
MapMarker annotation = (MapMarker) child;
|
|
658
|
-
annotation.addToMap(
|
|
681
|
+
annotation.addToMap(markerCollection);
|
|
659
682
|
features.add(index, annotation);
|
|
660
683
|
|
|
661
684
|
// Allow visibility event to be triggered later
|
|
@@ -681,7 +704,7 @@ public class MapView extends com.google.android.gms.maps.MapView implements Goog
|
|
|
681
704
|
markerMap.put(marker, annotation);
|
|
682
705
|
} else if (child instanceof MapPolyline) {
|
|
683
706
|
MapPolyline polylineView = (MapPolyline) child;
|
|
684
|
-
polylineView.addToMap(
|
|
707
|
+
polylineView.addToMap(polylineCollection);
|
|
685
708
|
features.add(index, polylineView);
|
|
686
709
|
Polyline polyline = (Polyline) polylineView.getFeature();
|
|
687
710
|
polylineMap.put(polyline, polylineView);
|
|
@@ -693,13 +716,13 @@ public class MapView extends com.google.android.gms.maps.MapView implements Goog
|
|
|
693
716
|
gradientPolylineMap.put(tileOverlay, polylineView);
|
|
694
717
|
} else if (child instanceof MapPolygon) {
|
|
695
718
|
MapPolygon polygonView = (MapPolygon) child;
|
|
696
|
-
polygonView.addToMap(
|
|
719
|
+
polygonView.addToMap(polygonCollection);
|
|
697
720
|
features.add(index, polygonView);
|
|
698
721
|
Polygon polygon = (Polygon) polygonView.getFeature();
|
|
699
722
|
polygonMap.put(polygon, polygonView);
|
|
700
723
|
} else if (child instanceof MapCircle) {
|
|
701
724
|
MapCircle circleView = (MapCircle) child;
|
|
702
|
-
circleView.addToMap(
|
|
725
|
+
circleView.addToMap(circleCollection);
|
|
703
726
|
features.add(index, circleView);
|
|
704
727
|
} else if (child instanceof MapUrlTile) {
|
|
705
728
|
MapUrlTile urlTileView = (MapUrlTile) child;
|
|
@@ -715,7 +738,7 @@ public class MapView extends com.google.android.gms.maps.MapView implements Goog
|
|
|
715
738
|
features.add(index, localTileView);
|
|
716
739
|
} else if (child instanceof MapOverlay) {
|
|
717
740
|
MapOverlay overlayView = (MapOverlay) child;
|
|
718
|
-
overlayView.addToMap(
|
|
741
|
+
overlayView.addToMap(groundOverlayCollection);
|
|
719
742
|
features.add(index, overlayView);
|
|
720
743
|
GroundOverlay overlay = (GroundOverlay) overlayView.getFeature();
|
|
721
744
|
overlayMap.put(overlay, overlayView);
|
|
@@ -1185,7 +1208,7 @@ public class MapView extends com.google.android.gms.maps.MapView implements Goog
|
|
|
1185
1208
|
return;
|
|
1186
1209
|
}
|
|
1187
1210
|
|
|
1188
|
-
KmlLayer kmlLayer = new KmlLayer(map, kmlStream, context);
|
|
1211
|
+
KmlLayer kmlLayer = new KmlLayer(map, kmlStream, context, markerManager, polygonManager, polylineManager, groundOverlayManager, null);
|
|
1189
1212
|
kmlLayer.addLayerToMap();
|
|
1190
1213
|
|
|
1191
1214
|
WritableMap pointers = new WritableNativeMap();
|
package/ios/AirMaps/AIRMap.h
CHANGED
package/ios/AirMaps/AIRMap.m
CHANGED
|
@@ -21,7 +21,6 @@
|
|
|
21
21
|
#import "AIRMapLocalTile.h"
|
|
22
22
|
#import "AIRMapOverlay.h"
|
|
23
23
|
|
|
24
|
-
const CLLocationDegrees AIRMapDefaultSpan = 0.005;
|
|
25
24
|
const NSTimeInterval AIRMapRegionChangeObserveInterval = 0.1;
|
|
26
25
|
const CGFloat AIRMapZoomBoundBuffer = 0.01;
|
|
27
26
|
const NSInteger AIRMapMaxZoomLevel = 20;
|
|
@@ -928,14 +928,7 @@ static int kDragCenterContext;
|
|
|
928
928
|
}
|
|
929
929
|
|
|
930
930
|
if (mapView.followUserLocation) {
|
|
931
|
-
|
|
932
|
-
region.span.latitudeDelta = AIRMapDefaultSpan;
|
|
933
|
-
region.span.longitudeDelta = AIRMapDefaultSpan;
|
|
934
|
-
region.center = location.coordinate;
|
|
935
|
-
[mapView setRegion:region animated:YES];
|
|
936
|
-
|
|
937
|
-
// Move to user location only for the first time it loads up.
|
|
938
|
-
// mapView.followUserLocation = NO;
|
|
931
|
+
[mapView setCenterCoordinate:location.coordinate animated:YES];
|
|
939
932
|
}
|
|
940
933
|
|
|
941
934
|
}
|
package/package.json
CHANGED
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
"main": "lib/index.js",
|
|
6
6
|
"author": "Leland Richardson <leland.m.richardson@gmail.com>",
|
|
7
7
|
"homepage": "https://github.com/react-native-maps/react-native-maps#readme",
|
|
8
|
-
"version": "1.
|
|
8
|
+
"version": "1.7.0-beta.1",
|
|
9
9
|
"license": "MIT",
|
|
10
10
|
"scripts": {
|
|
11
11
|
"lint": "eslint . --max-warnings 0",
|
|
@@ -60,7 +60,7 @@
|
|
|
60
60
|
"@react-native-community/eslint-config": "3.2.0",
|
|
61
61
|
"@semantic-release/changelog": "6.0.3",
|
|
62
62
|
"@semantic-release/git": "10.0.1",
|
|
63
|
-
"@types/jest": "29.5.
|
|
63
|
+
"@types/jest": "29.5.1",
|
|
64
64
|
"@types/react-native": "0.70.13",
|
|
65
65
|
"babel-jest": "29.5.0",
|
|
66
66
|
"detox": "20.7.0",
|
|
@@ -69,7 +69,7 @@
|
|
|
69
69
|
"jest": "29.5.0",
|
|
70
70
|
"prettier": "2.8.7",
|
|
71
71
|
"react": "18.1.0",
|
|
72
|
-
"react-native": "0.70.
|
|
72
|
+
"react-native": "0.70.9",
|
|
73
73
|
"semantic-release": "21.0.1",
|
|
74
74
|
"typescript": "5.0.4"
|
|
75
75
|
},
|