expo-maps 55.0.4 → 55.0.6

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.
Files changed (45) hide show
  1. package/CHANGELOG.md +10 -0
  2. package/android/build.gradle +2 -2
  3. package/build/index.d.ts +2 -0
  4. package/build/index.d.ts.map +1 -1
  5. package/build/index.js +1 -0
  6. package/build/index.js.map +1 -1
  7. package/expo-module.config.json +1 -1
  8. package/ios/AppleMapsViewiOS17.swift +4 -1
  9. package/ios/AppleMapsViewiOS18.swift +6 -3
  10. package/ios/MapRecords.swift +63 -29
  11. package/local-maven-repo/host/exp/exponent/expo.modules.maps/{55.0.4/expo.modules.maps-55.0.4.module → 55.0.6/expo.modules.maps-55.0.6.module} +7 -7
  12. package/local-maven-repo/host/exp/exponent/expo.modules.maps/55.0.6/expo.modules.maps-55.0.6.module.md5 +1 -0
  13. package/local-maven-repo/host/exp/exponent/expo.modules.maps/55.0.6/expo.modules.maps-55.0.6.module.sha1 +1 -0
  14. package/local-maven-repo/host/exp/exponent/expo.modules.maps/55.0.6/expo.modules.maps-55.0.6.module.sha256 +1 -0
  15. package/local-maven-repo/host/exp/exponent/expo.modules.maps/55.0.6/expo.modules.maps-55.0.6.module.sha512 +1 -0
  16. package/local-maven-repo/host/exp/exponent/expo.modules.maps/{55.0.4/expo.modules.maps-55.0.4.pom → 55.0.6/expo.modules.maps-55.0.6.pom} +1 -1
  17. package/local-maven-repo/host/exp/exponent/expo.modules.maps/55.0.6/expo.modules.maps-55.0.6.pom.md5 +1 -0
  18. package/local-maven-repo/host/exp/exponent/expo.modules.maps/55.0.6/expo.modules.maps-55.0.6.pom.sha1 +1 -0
  19. package/local-maven-repo/host/exp/exponent/expo.modules.maps/55.0.6/expo.modules.maps-55.0.6.pom.sha256 +1 -0
  20. package/local-maven-repo/host/exp/exponent/expo.modules.maps/55.0.6/expo.modules.maps-55.0.6.pom.sha512 +1 -0
  21. package/local-maven-repo/host/exp/exponent/expo.modules.maps/maven-metadata.xml +4 -4
  22. package/local-maven-repo/host/exp/exponent/expo.modules.maps/maven-metadata.xml.md5 +1 -1
  23. package/local-maven-repo/host/exp/exponent/expo.modules.maps/maven-metadata.xml.sha1 +1 -1
  24. package/local-maven-repo/host/exp/exponent/expo.modules.maps/maven-metadata.xml.sha256 +1 -1
  25. package/local-maven-repo/host/exp/exponent/expo.modules.maps/maven-metadata.xml.sha512 +1 -1
  26. package/package.json +2 -2
  27. package/src/index.ts +3 -0
  28. package/local-maven-repo/host/exp/exponent/expo.modules.maps/55.0.4/expo.modules.maps-55.0.4.module.md5 +0 -1
  29. package/local-maven-repo/host/exp/exponent/expo.modules.maps/55.0.4/expo.modules.maps-55.0.4.module.sha1 +0 -1
  30. package/local-maven-repo/host/exp/exponent/expo.modules.maps/55.0.4/expo.modules.maps-55.0.4.module.sha256 +0 -1
  31. package/local-maven-repo/host/exp/exponent/expo.modules.maps/55.0.4/expo.modules.maps-55.0.4.module.sha512 +0 -1
  32. package/local-maven-repo/host/exp/exponent/expo.modules.maps/55.0.4/expo.modules.maps-55.0.4.pom.md5 +0 -1
  33. package/local-maven-repo/host/exp/exponent/expo.modules.maps/55.0.4/expo.modules.maps-55.0.4.pom.sha1 +0 -1
  34. package/local-maven-repo/host/exp/exponent/expo.modules.maps/55.0.4/expo.modules.maps-55.0.4.pom.sha256 +0 -1
  35. package/local-maven-repo/host/exp/exponent/expo.modules.maps/55.0.4/expo.modules.maps-55.0.4.pom.sha512 +0 -1
  36. /package/local-maven-repo/host/exp/exponent/expo.modules.maps/{55.0.4/expo.modules.maps-55.0.4-sources.jar → 55.0.6/expo.modules.maps-55.0.6-sources.jar} +0 -0
  37. /package/local-maven-repo/host/exp/exponent/expo.modules.maps/{55.0.4/expo.modules.maps-55.0.4-sources.jar.md5 → 55.0.6/expo.modules.maps-55.0.6-sources.jar.md5} +0 -0
  38. /package/local-maven-repo/host/exp/exponent/expo.modules.maps/{55.0.4/expo.modules.maps-55.0.4-sources.jar.sha1 → 55.0.6/expo.modules.maps-55.0.6-sources.jar.sha1} +0 -0
  39. /package/local-maven-repo/host/exp/exponent/expo.modules.maps/{55.0.4/expo.modules.maps-55.0.4-sources.jar.sha256 → 55.0.6/expo.modules.maps-55.0.6-sources.jar.sha256} +0 -0
  40. /package/local-maven-repo/host/exp/exponent/expo.modules.maps/{55.0.4/expo.modules.maps-55.0.4-sources.jar.sha512 → 55.0.6/expo.modules.maps-55.0.6-sources.jar.sha512} +0 -0
  41. /package/local-maven-repo/host/exp/exponent/expo.modules.maps/{55.0.4/expo.modules.maps-55.0.4.aar → 55.0.6/expo.modules.maps-55.0.6.aar} +0 -0
  42. /package/local-maven-repo/host/exp/exponent/expo.modules.maps/{55.0.4/expo.modules.maps-55.0.4.aar.md5 → 55.0.6/expo.modules.maps-55.0.6.aar.md5} +0 -0
  43. /package/local-maven-repo/host/exp/exponent/expo.modules.maps/{55.0.4/expo.modules.maps-55.0.4.aar.sha1 → 55.0.6/expo.modules.maps-55.0.6.aar.sha1} +0 -0
  44. /package/local-maven-repo/host/exp/exponent/expo.modules.maps/{55.0.4/expo.modules.maps-55.0.4.aar.sha256 → 55.0.6/expo.modules.maps-55.0.6.aar.sha256} +0 -0
  45. /package/local-maven-repo/host/exp/exponent/expo.modules.maps/{55.0.4/expo.modules.maps-55.0.4.aar.sha512 → 55.0.6/expo.modules.maps-55.0.6.aar.sha512} +0 -0
package/CHANGELOG.md CHANGED
@@ -10,6 +10,16 @@
10
10
 
11
11
  ### 💡 Others
12
12
 
13
+ ## 55.0.6 — 2026-02-16
14
+
15
+ ### 🐛 Bug fixes
16
+
17
+ - Fixed geodesic polyline rendering on iOS by properly applying MapContourStyle enum. ([#39814](https://github.com/expo/expo/pull/39814) by [@sgup](https://github.com/sgup))
18
+
19
+ ## 55.0.5 — 2026-02-08
20
+
21
+ _This version does not introduce any user-facing changes._
22
+
13
23
  ## 55.0.4 — 2026-02-03
14
24
 
15
25
  _This version does not introduce any user-facing changes._
@@ -14,13 +14,13 @@ apply plugin: 'expo-module-gradle-plugin'
14
14
  apply plugin: 'org.jetbrains.kotlin.plugin.compose'
15
15
 
16
16
  group = 'host.exp.exponent'
17
- version = '55.0.4'
17
+ version = '55.0.6'
18
18
 
19
19
  android {
20
20
  namespace "expo.modules.maps"
21
21
  defaultConfig {
22
22
  versionCode 1
23
- versionName "55.0.4"
23
+ versionName "55.0.6"
24
24
  }
25
25
  buildFeatures {
26
26
  compose true
package/build/index.d.ts CHANGED
@@ -29,6 +29,8 @@ export declare namespace AppleMaps {
29
29
  type MapStyleElevation = AppleTypes.AppleMapsMapStyleElevation;
30
30
  const MapColorScheme: typeof AppleTypes.AppleMapsColorScheme;
31
31
  type MapColorScheme = AppleTypes.AppleMapsColorScheme;
32
+ const ContourStyle: typeof AppleTypes.AppleMapsContourStyle;
33
+ type ContourStyle = AppleTypes.AppleMapsContourStyle;
32
34
  type Marker = AppleTypes.AppleMapsMarker;
33
35
  type MapUISettings = AppleTypes.AppleMapsUISettings;
34
36
  type MapProperties = AppleTypes.AppleMapsProperties;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,UAAU,MAAM,yBAAyB,CAAC;AAEtD,OAAO,KAAK,WAAW,MAAM,2BAA2B,CAAC;AAEzD,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAE7D;;GAEG;AACH,yBAAiB,UAAU,CAAC;IACnB,MAAM,IAAI,yJAAiB,CAAC;IAC5B,MAAM,UAAU,yBAAmB,CAAC;IAEpC,MAAM,OAAO,sCAAgC,CAAC;IACrD,KAAY,OAAO,GAAG,WAAW,CAAC,iBAAiB,CAAC;IAE7C,MAAM,cAAc,0CAAoC,CAAC;IAChE,KAAY,cAAc,GAAG,WAAW,CAAC,qBAAqB,CAAC;IAE/D,KAAY,MAAM,GAAG,WAAW,CAAC,gBAAgB,CAAC;IAClD,KAAY,aAAa,GAAG,WAAW,CAAC,oBAAoB,CAAC;IAC7D,KAAY,aAAa,GAAG,WAAW,CAAC,oBAAoB,CAAC;IAE7D,KAAY,QAAQ,GAAG,WAAW,CAAC,mBAAmB,CAAC;IACvD,KAAY,OAAO,GAAG,WAAW,CAAC,kBAAkB,CAAC;IAErD,KAAY,eAAe,GAAG,WAAW,CAAC,qBAAqB,CAAC;CACjE;AAED;;GAEG;AACH,yBAAiB,SAAS,CAAC;IAClB,MAAM,IAAI,qJAAgB,CAAC;IAE3B,MAAM,OAAO,oCAA8B,CAAC;IACnD,KAAY,OAAO,GAAG,UAAU,CAAC,gBAAgB,CAAC;IAE3C,MAAM,iBAAiB,8CAAwC,CAAC;IACvE,KAAY,iBAAiB,GAAG,UAAU,CAAC,0BAA0B,CAAC;IAE/D,MAAM,cAAc,wCAAkC,CAAC;IAC9D,KAAY,cAAc,GAAG,UAAU,CAAC,oBAAoB,CAAC;IAE7D,KAAY,MAAM,GAAG,UAAU,CAAC,eAAe,CAAC;IAChD,KAAY,aAAa,GAAG,UAAU,CAAC,mBAAmB,CAAC;IAC3D,KAAY,aAAa,GAAG,UAAU,CAAC,mBAAmB,CAAC;IAE3D,KAAY,QAAQ,GAAG,UAAU,CAAC,kBAAkB,CAAC;IACrD,KAAY,OAAO,GAAG,UAAU,CAAC,iBAAiB,CAAC;CACpD;AAED,eAAO,MAAM,uBAAuB,+DAAmC,CAAC;AACxE,eAAO,MAAM,mBAAmB,+DAA+B,CAAC;AAEhE;;;;;;;;GAQG;AACH,eAAO,MAAM,sBAAsB,4QAGjC,CAAC;AAEH,cAAc,gBAAgB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,UAAU,MAAM,yBAAyB,CAAC;AAEtD,OAAO,KAAK,WAAW,MAAM,2BAA2B,CAAC;AAEzD,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAE7D;;GAEG;AACH,yBAAiB,UAAU,CAAC;IACnB,MAAM,IAAI,yJAAiB,CAAC;IAC5B,MAAM,UAAU,yBAAmB,CAAC;IAEpC,MAAM,OAAO,sCAAgC,CAAC;IACrD,KAAY,OAAO,GAAG,WAAW,CAAC,iBAAiB,CAAC;IAE7C,MAAM,cAAc,0CAAoC,CAAC;IAChE,KAAY,cAAc,GAAG,WAAW,CAAC,qBAAqB,CAAC;IAE/D,KAAY,MAAM,GAAG,WAAW,CAAC,gBAAgB,CAAC;IAClD,KAAY,aAAa,GAAG,WAAW,CAAC,oBAAoB,CAAC;IAC7D,KAAY,aAAa,GAAG,WAAW,CAAC,oBAAoB,CAAC;IAE7D,KAAY,QAAQ,GAAG,WAAW,CAAC,mBAAmB,CAAC;IACvD,KAAY,OAAO,GAAG,WAAW,CAAC,kBAAkB,CAAC;IAErD,KAAY,eAAe,GAAG,WAAW,CAAC,qBAAqB,CAAC;CACjE;AAED;;GAEG;AACH,yBAAiB,SAAS,CAAC;IAClB,MAAM,IAAI,qJAAgB,CAAC;IAE3B,MAAM,OAAO,oCAA8B,CAAC;IACnD,KAAY,OAAO,GAAG,UAAU,CAAC,gBAAgB,CAAC;IAE3C,MAAM,iBAAiB,8CAAwC,CAAC;IACvE,KAAY,iBAAiB,GAAG,UAAU,CAAC,0BAA0B,CAAC;IAE/D,MAAM,cAAc,wCAAkC,CAAC;IAC9D,KAAY,cAAc,GAAG,UAAU,CAAC,oBAAoB,CAAC;IAEtD,MAAM,YAAY,yCAAmC,CAAC;IAC7D,KAAY,YAAY,GAAG,UAAU,CAAC,qBAAqB,CAAC;IAE5D,KAAY,MAAM,GAAG,UAAU,CAAC,eAAe,CAAC;IAChD,KAAY,aAAa,GAAG,UAAU,CAAC,mBAAmB,CAAC;IAC3D,KAAY,aAAa,GAAG,UAAU,CAAC,mBAAmB,CAAC;IAE3D,KAAY,QAAQ,GAAG,UAAU,CAAC,kBAAkB,CAAC;IACrD,KAAY,OAAO,GAAG,UAAU,CAAC,iBAAiB,CAAC;CACpD;AAED,eAAO,MAAM,uBAAuB,+DAAmC,CAAC;AACxE,eAAO,MAAM,mBAAmB,+DAA+B,CAAC;AAEhE;;;;;;;;GAQG;AACH,eAAO,MAAM,sBAAsB,4QAGjC,CAAC;AAEH,cAAc,gBAAgB,CAAC"}
package/build/index.js CHANGED
@@ -24,6 +24,7 @@ export var AppleMaps;
24
24
  AppleMaps.MapType = AppleTypes.AppleMapsMapType;
25
25
  AppleMaps.MapStyleElevation = AppleTypes.AppleMapsMapStyleElevation;
26
26
  AppleMaps.MapColorScheme = AppleTypes.AppleMapsColorScheme;
27
+ AppleMaps.ContourStyle = AppleTypes.AppleMapsContourStyle;
27
28
  })(AppleMaps || (AppleMaps = {}));
28
29
  export const requestPermissionsAsync = ExpoMaps.requestPermissionsAsync;
29
30
  export const getPermissionsAsync = ExpoMaps.getPermissionsAsync;
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAEzD,OAAO,QAAQ,MAAM,YAAY,CAAC;AAClC,OAAO,KAAK,UAAU,MAAM,yBAAyB,CAAC;AACtD,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACtD,OAAO,KAAK,WAAW,MAAM,2BAA2B,CAAC;AACzD,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AACzD,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAE7D;;GAEG;AACH,MAAM,KAAW,UAAU,CAkB1B;AAlBD,WAAiB,UAAU;IACZ,eAAI,GAAG,cAAc,CAAC;IACtB,qBAAU,GAAG,gBAAgB,CAAC;IAE9B,kBAAO,GAAG,WAAW,CAAC,iBAAiB,CAAC;IAGxC,yBAAc,GAAG,WAAW,CAAC,qBAAqB,CAAC;AAWlE,CAAC,EAlBgB,UAAU,KAAV,UAAU,QAkB1B;AAED;;GAEG;AACH,MAAM,KAAW,SAAS,CAkBzB;AAlBD,WAAiB,SAAS;IACX,cAAI,GAAG,aAAa,CAAC;IAErB,iBAAO,GAAG,UAAU,CAAC,gBAAgB,CAAC;IAGtC,2BAAiB,GAAG,UAAU,CAAC,0BAA0B,CAAC;IAG1D,wBAAc,GAAG,UAAU,CAAC,oBAAoB,CAAC;AAShE,CAAC,EAlBgB,SAAS,KAAT,SAAS,QAkBzB;AAED,MAAM,CAAC,MAAM,uBAAuB,GAAG,QAAQ,CAAC,uBAAuB,CAAC;AACxE,MAAM,CAAC,MAAM,mBAAmB,GAAG,QAAQ,CAAC,mBAAmB,CAAC;AAEhE;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAG,oBAAoB,CAAC;IACzD,SAAS,EAAE,mBAAmB;IAC9B,aAAa,EAAE,uBAAuB;CACvC,CAAC,CAAC;AAEH,cAAc,gBAAgB,CAAC","sourcesContent":["import { createPermissionHook } from 'expo-modules-core';\n\nimport ExpoMaps from './ExpoMaps';\nimport * as AppleTypes from './apple/AppleMaps.types';\nimport { AppleMapsView } from './apple/AppleMapsView';\nimport * as GoogleTypes from './google/GoogleMaps.types';\nimport { GoogleMapsView } from './google/GoogleMapsView';\nimport { GoogleStreetView } from './google/GoogleStreetView';\n\n/**\n * @hidden\n */\nexport namespace GoogleMaps {\n export const View = GoogleMapsView;\n export const StreetView = GoogleStreetView;\n\n export const MapType = GoogleTypes.GoogleMapsMapType;\n export type MapType = GoogleTypes.GoogleMapsMapType;\n\n export const MapColorScheme = GoogleTypes.GoogleMapsColorScheme;\n export type MapColorScheme = GoogleTypes.GoogleMapsColorScheme;\n\n export type Marker = GoogleTypes.GoogleMapsMarker;\n export type MapUISettings = GoogleTypes.GoogleMapsUISettings;\n export type MapProperties = GoogleTypes.GoogleMapsProperties;\n\n export type MapProps = GoogleTypes.GoogleMapsViewProps;\n export type MapView = GoogleTypes.GoogleMapsViewType;\n\n export type StreetViewProps = GoogleTypes.GoogleStreetViewProps;\n}\n\n/**\n * @hidden\n */\nexport namespace AppleMaps {\n export const View = AppleMapsView;\n\n export const MapType = AppleTypes.AppleMapsMapType;\n export type MapType = AppleTypes.AppleMapsMapType;\n\n export const MapStyleElevation = AppleTypes.AppleMapsMapStyleElevation;\n export type MapStyleElevation = AppleTypes.AppleMapsMapStyleElevation;\n\n export const MapColorScheme = AppleTypes.AppleMapsColorScheme;\n export type MapColorScheme = AppleTypes.AppleMapsColorScheme;\n\n export type Marker = AppleTypes.AppleMapsMarker;\n export type MapUISettings = AppleTypes.AppleMapsUISettings;\n export type MapProperties = AppleTypes.AppleMapsProperties;\n\n export type MapProps = AppleTypes.AppleMapsViewProps;\n export type MapView = AppleTypes.AppleMapsViewType;\n}\n\nexport const requestPermissionsAsync = ExpoMaps.requestPermissionsAsync;\nexport const getPermissionsAsync = ExpoMaps.getPermissionsAsync;\n\n/**\n * Check or request permissions to access the location.\n * This uses both `requestPermissionsAsync` and `getPermissionsAsync` to interact with the permissions.\n *\n * @example\n * ```ts\n * const [status, requestPermission] = useLocationPermissions();\n * ```\n */\nexport const useLocationPermissions = createPermissionHook({\n getMethod: getPermissionsAsync,\n requestMethod: requestPermissionsAsync,\n});\n\nexport * from './shared.types';\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAEzD,OAAO,QAAQ,MAAM,YAAY,CAAC;AAClC,OAAO,KAAK,UAAU,MAAM,yBAAyB,CAAC;AACtD,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACtD,OAAO,KAAK,WAAW,MAAM,2BAA2B,CAAC;AACzD,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AACzD,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAE7D;;GAEG;AACH,MAAM,KAAW,UAAU,CAkB1B;AAlBD,WAAiB,UAAU;IACZ,eAAI,GAAG,cAAc,CAAC;IACtB,qBAAU,GAAG,gBAAgB,CAAC;IAE9B,kBAAO,GAAG,WAAW,CAAC,iBAAiB,CAAC;IAGxC,yBAAc,GAAG,WAAW,CAAC,qBAAqB,CAAC;AAWlE,CAAC,EAlBgB,UAAU,KAAV,UAAU,QAkB1B;AAED;;GAEG;AACH,MAAM,KAAW,SAAS,CAqBzB;AArBD,WAAiB,SAAS;IACX,cAAI,GAAG,aAAa,CAAC;IAErB,iBAAO,GAAG,UAAU,CAAC,gBAAgB,CAAC;IAGtC,2BAAiB,GAAG,UAAU,CAAC,0BAA0B,CAAC;IAG1D,wBAAc,GAAG,UAAU,CAAC,oBAAoB,CAAC;IAGjD,sBAAY,GAAG,UAAU,CAAC,qBAAqB,CAAC;AAS/D,CAAC,EArBgB,SAAS,KAAT,SAAS,QAqBzB;AAED,MAAM,CAAC,MAAM,uBAAuB,GAAG,QAAQ,CAAC,uBAAuB,CAAC;AACxE,MAAM,CAAC,MAAM,mBAAmB,GAAG,QAAQ,CAAC,mBAAmB,CAAC;AAEhE;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAG,oBAAoB,CAAC;IACzD,SAAS,EAAE,mBAAmB;IAC9B,aAAa,EAAE,uBAAuB;CACvC,CAAC,CAAC;AAEH,cAAc,gBAAgB,CAAC","sourcesContent":["import { createPermissionHook } from 'expo-modules-core';\n\nimport ExpoMaps from './ExpoMaps';\nimport * as AppleTypes from './apple/AppleMaps.types';\nimport { AppleMapsView } from './apple/AppleMapsView';\nimport * as GoogleTypes from './google/GoogleMaps.types';\nimport { GoogleMapsView } from './google/GoogleMapsView';\nimport { GoogleStreetView } from './google/GoogleStreetView';\n\n/**\n * @hidden\n */\nexport namespace GoogleMaps {\n export const View = GoogleMapsView;\n export const StreetView = GoogleStreetView;\n\n export const MapType = GoogleTypes.GoogleMapsMapType;\n export type MapType = GoogleTypes.GoogleMapsMapType;\n\n export const MapColorScheme = GoogleTypes.GoogleMapsColorScheme;\n export type MapColorScheme = GoogleTypes.GoogleMapsColorScheme;\n\n export type Marker = GoogleTypes.GoogleMapsMarker;\n export type MapUISettings = GoogleTypes.GoogleMapsUISettings;\n export type MapProperties = GoogleTypes.GoogleMapsProperties;\n\n export type MapProps = GoogleTypes.GoogleMapsViewProps;\n export type MapView = GoogleTypes.GoogleMapsViewType;\n\n export type StreetViewProps = GoogleTypes.GoogleStreetViewProps;\n}\n\n/**\n * @hidden\n */\nexport namespace AppleMaps {\n export const View = AppleMapsView;\n\n export const MapType = AppleTypes.AppleMapsMapType;\n export type MapType = AppleTypes.AppleMapsMapType;\n\n export const MapStyleElevation = AppleTypes.AppleMapsMapStyleElevation;\n export type MapStyleElevation = AppleTypes.AppleMapsMapStyleElevation;\n\n export const MapColorScheme = AppleTypes.AppleMapsColorScheme;\n export type MapColorScheme = AppleTypes.AppleMapsColorScheme;\n\n export const ContourStyle = AppleTypes.AppleMapsContourStyle;\n export type ContourStyle = AppleTypes.AppleMapsContourStyle;\n\n export type Marker = AppleTypes.AppleMapsMarker;\n export type MapUISettings = AppleTypes.AppleMapsUISettings;\n export type MapProperties = AppleTypes.AppleMapsProperties;\n\n export type MapProps = AppleTypes.AppleMapsViewProps;\n export type MapView = AppleTypes.AppleMapsViewType;\n}\n\nexport const requestPermissionsAsync = ExpoMaps.requestPermissionsAsync;\nexport const getPermissionsAsync = ExpoMaps.getPermissionsAsync;\n\n/**\n * Check or request permissions to access the location.\n * This uses both `requestPermissionsAsync` and `getPermissionsAsync` to interact with the permissions.\n *\n * @example\n * ```ts\n * const [status, requestPermission] = useLocationPermissions();\n * ```\n */\nexport const useLocationPermissions = createPermissionHook({\n getMethod: getPermissionsAsync,\n requestMethod: requestPermissionsAsync,\n});\n\nexport * from './shared.types';\n"]}
@@ -13,7 +13,7 @@
13
13
  "publication": {
14
14
  "groupId": "host.exp.exponent",
15
15
  "artifactId": "expo.modules.maps",
16
- "version": "55.0.4",
16
+ "version": "55.0.6",
17
17
  "repository": "local-maven-repo"
18
18
  }
19
19
  }
@@ -57,7 +57,10 @@ struct AppleMapsViewiOS17: View, AppleMapsViewProtocol {
57
57
  }
58
58
 
59
59
  ForEach(props.polylines) { polyline in
60
- MapPolyline(coordinates: polyline.clLocationCoordinates2D)
60
+ MapPolyline(
61
+ coordinates: polyline.clLocationCoordinates2D,
62
+ contourStyle: polyline.contourStyle.toContourStyle()
63
+ )
61
64
  .stroke(polyline.color, lineWidth: polyline.width)
62
65
  }
63
66
 
@@ -85,7 +85,10 @@ struct AppleMapsViewiOS18: View, AppleMapsViewProtocol {
85
85
  }
86
86
 
87
87
  ForEach(props.polylines) { polyline in
88
- MapPolyline(coordinates: polyline.clLocationCoordinates2D)
88
+ MapPolyline(
89
+ coordinates: polyline.clLocationCoordinates2D,
90
+ contourStyle: polyline.contourStyle.toContourStyle()
91
+ )
89
92
  .stroke(polyline.color, lineWidth: polyline.width)
90
93
  .tag(MapSelection<MKMapItem>(polyline.mapItem))
91
94
  }
@@ -176,7 +179,7 @@ struct AppleMapsViewiOS18: View, AppleMapsViewProtocol {
176
179
  "id": hit.id,
177
180
  "color": hit.color,
178
181
  "width": hit.width,
179
- "contourStyle": hit.contourStyle,
182
+ "contourStyle": hit.contourStyle.rawValue,
180
183
  "coordinates": coords
181
184
  ])
182
185
  }
@@ -278,7 +281,7 @@ struct AppleMapsViewiOS18: View, AppleMapsViewProtocol {
278
281
  let threshold = props.properties.polylineTapThreshold
279
282
 
280
283
  return props.polylines.first { line in
281
- let pts = line.clLocationCoordinates2D.map(MKMapPoint.init)
284
+ let pts = line.hitTestCoordinates.map(MKMapPoint.init)
282
285
 
283
286
  var minDist = CLLocationDistance.greatestFiniteMagnitude
284
287
  for (a, b) in zip(pts, pts.dropFirst()) {
@@ -71,7 +71,7 @@ struct ExpoAppleMapPolyline: Record, Identifiable {
71
71
  @Field var coordinates: [Coordinate]
72
72
  @Field var color: Color = .blue
73
73
  @Field var width: Double = 4
74
- @Field var contourStyle: String = "straight"
74
+ @Field var contourStyle: MapContourStyle = .straight
75
75
 
76
76
  var clLocationCoordinates2D: [CLLocationCoordinate2D] {
77
77
  return coordinates.map {
@@ -79,6 +79,50 @@ struct ExpoAppleMapPolyline: Record, Identifiable {
79
79
  }
80
80
  }
81
81
 
82
+ /// Coordinates used for tap hit-testing. For geodesic polylines, this interpolates
83
+ /// points along the great circle arc so the hit area matches the rendered curve.
84
+ var hitTestCoordinates: [CLLocationCoordinate2D] {
85
+ let coords = clLocationCoordinates2D
86
+ guard contourStyle == .geodesic else { return coords }
87
+ return zip(coords, coords.dropFirst()).flatMap { start, end in
88
+ Self.interpolateGreatCircle(from: start, to: end).dropLast()
89
+ } + [coords.last].compactMap { $0 }
90
+ }
91
+
92
+ /// Interpolates points along the great circle arc between two coordinates.
93
+ /// See: https://www.edwilliams.org/avform147.htm#Intermediate
94
+ private static func interpolateGreatCircle(
95
+ from start: CLLocationCoordinate2D,
96
+ to end: CLLocationCoordinate2D,
97
+ segments: Int = 30
98
+ ) -> [CLLocationCoordinate2D] {
99
+ let lat1 = start.latitude * .pi / 180
100
+ let lon1 = start.longitude * .pi / 180
101
+ let lat2 = end.latitude * .pi / 180
102
+ let lon2 = end.longitude * .pi / 180
103
+
104
+ let d = acos(sin(lat1) * sin(lat2) + cos(lat1) * cos(lat2) * cos(lon2 - lon1))
105
+ // Points are (nearly) coincident — no arc to interpolate.
106
+ guard d > 1e-10 else { return [start, end] }
107
+
108
+ let sinD = sin(d)
109
+
110
+ return (0...segments).map { i in
111
+ let f = Double(i) / Double(segments)
112
+ let A = sin((1 - f) * d) / sinD
113
+ let B = sin(f * d) / sinD
114
+ let x = A * cos(lat1) * cos(lon1) + B * cos(lat2) * cos(lon2)
115
+ let y = A * cos(lat1) * sin(lon1) + B * cos(lat2) * sin(lon2)
116
+ let z = A * sin(lat1) + B * sin(lat2)
117
+ let lat = atan2(z, sqrt(x * x + y * y))
118
+ let lon = atan2(y, x)
119
+ return CLLocationCoordinate2D(
120
+ latitude: lat * 180 / .pi,
121
+ longitude: lon * 180 / .pi
122
+ )
123
+ }
124
+ }
125
+
82
126
  var mkPlacemark: MKPlacemark {
83
127
  MKPlacemark(
84
128
  coordinate: clLocationCoordinates2D.first ?? CLLocationCoordinate2D(latitude: 0, longitude: 0)
@@ -164,11 +208,9 @@ enum MapContourStyle: String, Enumerable {
164
208
 
165
209
  @available(iOS 17.0, *)
166
210
  func toContourStyle() -> MapPolyline.ContourStyle {
167
- switch self {
168
- case .straight:
169
- return .straight
170
- case .geodesic:
171
- return .geodesic
211
+ return switch self {
212
+ case .straight: .straight
213
+ case .geodesic: .geodesic
172
214
  }
173
215
  }
174
216
  }
@@ -180,13 +222,10 @@ enum MapStyleElevation: String, Enumerable {
180
222
 
181
223
  @available(iOS 17.0, *)
182
224
  func toMapStyleElevation() -> MapStyle.Elevation {
183
- switch self {
184
- case .flat:
185
- return .flat
186
- case .realistic:
187
- return .realistic
188
- default:
189
- return .automatic
225
+ return switch self {
226
+ case .flat: .flat
227
+ case .realistic: .realistic
228
+ default: .automatic
190
229
  }
191
230
  }
192
231
  }
@@ -197,11 +236,9 @@ enum MapStyleEmphasis: String, Enumerable {
197
236
 
198
237
  @available(iOS 17.0, *)
199
238
  func toMapStyleEmphasis() -> MapStyle.StandardEmphasis {
200
- switch self {
201
- case .muted:
202
- return .muted
203
- default:
204
- return .automatic
239
+ return switch self {
240
+ case .muted: .muted
241
+ default: .automatic
205
242
  }
206
243
  }
207
244
  }
@@ -212,13 +249,10 @@ enum MapColorScheme: String, Enumerable {
212
249
  case dark = "DARK"
213
250
 
214
251
  func toColorScheme() -> ColorScheme? {
215
- switch self {
216
- case .light:
217
- return .light
218
- case .dark:
219
- return .dark
220
- case .automatic:
221
- return nil
252
+ return switch self {
253
+ case .light: .light
254
+ case .dark: .dark
255
+ case .automatic: nil
222
256
  }
223
257
  }
224
258
  }
@@ -236,19 +270,19 @@ enum MapType: String, Enumerable {
236
270
  let pointsOfInterest = properties.pointsOfInterest.toMapPointOfInterestCategories()
237
271
  let showsTraffic = properties.isTrafficEnabled
238
272
 
239
- switch mapType {
273
+ return switch mapType {
240
274
  case .hybrid:
241
- return .hybrid(
275
+ .hybrid(
242
276
  elevation: elevation,
243
277
  pointsOfInterest: pointsOfInterest,
244
278
  showsTraffic: showsTraffic
245
279
  )
246
280
  case .imagery:
247
- return .imagery(
281
+ .imagery(
248
282
  elevation: elevation
249
283
  )
250
284
  default:
251
- return .standard(
285
+ .standard(
252
286
  elevation: elevation,
253
287
  emphasis: emphasis,
254
288
  pointsOfInterest: pointsOfInterest,
@@ -3,7 +3,7 @@
3
3
  "component": {
4
4
  "group": "host.exp.exponent",
5
5
  "module": "expo.modules.maps",
6
- "version": "55.0.4",
6
+ "version": "55.0.6",
7
7
  "attributes": {
8
8
  "org.gradle.status": "release"
9
9
  }
@@ -24,8 +24,8 @@
24
24
  },
25
25
  "files": [
26
26
  {
27
- "name": "expo.modules.maps-55.0.4.aar",
28
- "url": "expo.modules.maps-55.0.4.aar",
27
+ "name": "expo.modules.maps-55.0.6.aar",
28
+ "url": "expo.modules.maps-55.0.6.aar",
29
29
  "size": 111636,
30
30
  "sha512": "d94ca3eaebd38cff2ea49b149e20f08d90aa2b3d600137bc446304a5974c0d74209f1314b921699e29dc041b60cfa1fbc3182651afcd4288355b8e1982ecea5b",
31
31
  "sha256": "d49fd7ca2dcd2e24e84d25084ebcf9ad13864d5c59775967eb3794492494c24d",
@@ -102,8 +102,8 @@
102
102
  ],
103
103
  "files": [
104
104
  {
105
- "name": "expo.modules.maps-55.0.4.aar",
106
- "url": "expo.modules.maps-55.0.4.aar",
105
+ "name": "expo.modules.maps-55.0.6.aar",
106
+ "url": "expo.modules.maps-55.0.6.aar",
107
107
  "size": 111636,
108
108
  "sha512": "d94ca3eaebd38cff2ea49b149e20f08d90aa2b3d600137bc446304a5974c0d74209f1314b921699e29dc041b60cfa1fbc3182651afcd4288355b8e1982ecea5b",
109
109
  "sha256": "d49fd7ca2dcd2e24e84d25084ebcf9ad13864d5c59775967eb3794492494c24d",
@@ -122,8 +122,8 @@
122
122
  },
123
123
  "files": [
124
124
  {
125
- "name": "expo.modules.maps-55.0.4-sources.jar",
126
- "url": "expo.modules.maps-55.0.4-sources.jar",
125
+ "name": "expo.modules.maps-55.0.6-sources.jar",
126
+ "url": "expo.modules.maps-55.0.6-sources.jar",
127
127
  "size": 8287,
128
128
  "sha512": "acab3d20cac89b0ca6a622c96c260ef5fcd47f7c7c3bcf7f4dd2c723d0c88182390e80929ed4eb2da79a68ca8dca3ef51afada3e3ac1a632213ead5b01d84108",
129
129
  "sha256": "7a528f289495cf5b64928af7652185ad964497cc90eee39d2c446e9eb3438d80",
@@ -0,0 +1 @@
1
+ 9836279da9fb85869094635f6eba530ebe38033415a71e796b43469c7c57def3
@@ -0,0 +1 @@
1
+ 7803d74ba9a3a8377f2ad5141454d86c9923eae85687144f82d53caea395d99a6129244b00df585ac1a259150171da540482e974308bc912ac8b7eabef5074e7
@@ -9,7 +9,7 @@
9
9
  <modelVersion>4.0.0</modelVersion>
10
10
  <groupId>host.exp.exponent</groupId>
11
11
  <artifactId>expo.modules.maps</artifactId>
12
- <version>55.0.4</version>
12
+ <version>55.0.6</version>
13
13
  <packaging>aar</packaging>
14
14
  <name>expo.modules.maps</name>
15
15
  <url>https://github.com/expo/expo</url>
@@ -0,0 +1 @@
1
+ 58a9339a65aef6668391a5eb8540a0ede6537eff
@@ -0,0 +1 @@
1
+ bb4acbcc6a592bc1158eb861e5e9eda7a570df446e5b1bb492e65663409cd998
@@ -0,0 +1 @@
1
+ 9e8173934c2da7b113f08dfad4071d7e18fe331e79088200ad14c4f1754fbad66044a73a45b6e123858080ed37a56a311376f93f3688f45b421cf724265768b9
@@ -3,11 +3,11 @@
3
3
  <groupId>host.exp.exponent</groupId>
4
4
  <artifactId>expo.modules.maps</artifactId>
5
5
  <versioning>
6
- <latest>55.0.4</latest>
7
- <release>55.0.4</release>
6
+ <latest>55.0.6</latest>
7
+ <release>55.0.6</release>
8
8
  <versions>
9
- <version>55.0.4</version>
9
+ <version>55.0.6</version>
10
10
  </versions>
11
- <lastUpdated>20260203054513</lastUpdated>
11
+ <lastUpdated>20260216170142</lastUpdated>
12
12
  </versioning>
13
13
  </metadata>
@@ -1 +1 @@
1
- 3baa283103990a9f5871c966a9370a4d
1
+ 8555b1fe451d689f0dc3804f890eeea7
@@ -1 +1 @@
1
- 20dbe7ec2be9b00466e53ced2989b7a1b49a6dc5
1
+ d0f835ccb53f2de289ec167b7ef0aada392f733e
@@ -1 +1 @@
1
- e6a2c22675621b16e27042388e6b5168d2b6299f505a30982137fda416531e1a
1
+ 61c9c4c2bc9c17c5ac6928d4e9db13d6fae8a647cd481be731791226c2ef2bac
@@ -1 +1 @@
1
- 80151ce3285d26d53a4a1d096d92799c7eb83e6ed5e42d4d5435a59fbe07ba2fe1571941d2db1e3e0402eed76a218a19aa0ab7a6a3dfe024e31d5b795a3b7441
1
+ def0ea6850476a5d963aad42cd7babfdab26032c82508030f124279cb02ae3cf6cee86f127af0e65efeade724b1e9cbc84b7181a34064ba991b80647cabf6f94
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "expo-maps",
3
- "version": "55.0.4",
3
+ "version": "55.0.6",
4
4
  "description": "Provides a Map component that uses Google Maps on Android and Apple Maps on iOS.",
5
5
  "main": "src/index.ts",
6
6
  "types": "build/index.d.ts",
@@ -36,5 +36,5 @@
36
36
  "react": "*",
37
37
  "react-native": "*"
38
38
  },
39
- "gitHead": "436ffb4355d5207f4a03fbc3568cd33424a40f3e"
39
+ "gitHead": "928cc951854450f3c72e00e8e420e567fabd1f8c"
40
40
  }
package/src/index.ts CHANGED
@@ -45,6 +45,9 @@ export namespace AppleMaps {
45
45
  export const MapColorScheme = AppleTypes.AppleMapsColorScheme;
46
46
  export type MapColorScheme = AppleTypes.AppleMapsColorScheme;
47
47
 
48
+ export const ContourStyle = AppleTypes.AppleMapsContourStyle;
49
+ export type ContourStyle = AppleTypes.AppleMapsContourStyle;
50
+
48
51
  export type Marker = AppleTypes.AppleMapsMarker;
49
52
  export type MapUISettings = AppleTypes.AppleMapsUISettings;
50
53
  export type MapProperties = AppleTypes.AppleMapsProperties;
@@ -1 +0,0 @@
1
- 9bae9299e17716f424ba0dce4d88b05e76264276
@@ -1 +0,0 @@
1
- 4cd53f8866730f53d707d13b6a871c98abdcc603f76cee5369dbb856bdf80acf
@@ -1 +0,0 @@
1
- 23a15a54d638fe1b78dbdb9b89d6e1b2a649d85632f26da036f52e9174af58f0026b494db6e4fce621d979026dc4f17a6e70dffd7e5c4bf6c315d34a76f5f71d
@@ -1 +0,0 @@
1
- 4018445eb32b15cb8335200202924a8f9836266c
@@ -1 +0,0 @@
1
- 0a099370163317c7f08dc23f96252548c4b8f175f747c7783988471bc7b8c4b7
@@ -1 +0,0 @@
1
- 89bade127026597d7439aacb5f3c714bdcca8983eda6d780a03bf85f6dab5b254bfc08e9ec19bcf1641f8afec0615ea15587ad5514bd87b89b8ecb56f9cdbc95