Skip to content

[Android] Custom marker not showing when using Cordova-android 10+ #2886

Open

Description

@ebhsgit

I'm submitting a ... (check one with "x")

  • question
  • any problem or bug report

OS: (check one with "x")

  • Android
  • iOS
  • Browser

cordova information: (run $> cordova plugin list)

cordova-android: 10.1.1

If you use @ionic-native/google-maps, please tell the package.json (only @ionic-native/core and @ionic-native/google-maps are fine mostly)

@ionic-native/core : 4.20.0
@ionic-native/google-maps : ^2.7.0

Cause
cordova-android 10+ switched to use WebAssetLoader, and the default scheme is https
The AsyncLoadImage file did not check for https scheme for localhost

More info here:
https://cordova.apache.org/announcements/2021/07/20/cordova-android-10.0.0.html
apache/cordova-android#1316

Current behavior:
The default Google Map red marker is shown

Expected behavior:
The custom image is used for the Marker

Fix
The gist is to change line 199 to this.

      if (iconUrl.startsWith("http://localhost") ||
          iconUrl.startsWith("https://localhost") ||
          iconUrl.startsWith("http://127.0.0.1") ||
          iconUrl.startsWith("https://127.0.0.1")
      ) {
//        Log.d(TAG, String.format("---->(201)iconURL = %s", iconUrl));
        if (iconUrl.contains("://")) {
          iconUrl = iconUrl.replaceAll("https?://.+?/", "file:///android_asset/www/");
        } else {
          // Avoid WebViewLocalServer (because can not make a connection for some reason)
          iconUrl = "file:///android_asset/www/".concat(iconUrl);
        }
      }

Screen capture or video record:

Related code, data or error log (please format your code or data):

Please share your project files on Github or others(Bitbucket, Gitlabs...etc).
If you don't want to share your project files, please create a demo project, then share it.

Screen captures, and/or native logs(such as Logcat, xcode logs) are appreciate.

Giving much information, you are waiting time is less.
Thank you for your cooperation.

Support this plugin activity

I appreicate if you give me a beer 🍺 from here

Activity

  1. ebhsgit commented on Oct 23, 2021

    @ebhsgit
    ContributorAuthor

    Issue also mentioned in #2871

  2. added a commit that references this issue on Oct 23, 2021
  3. added a commit that references this issue on Oct 28, 2021
  4. SoftwareAndOutsourcing commented on Feb 3, 2022

    @SoftwareAndOutsourcing

    The solution above seems to solve the issue but customs markers will still not show if you use the Cordova local development server.

  5. added a commit that references this issue on Feb 8, 2022
  6. added a commit that references this issue on Jun 24, 2022
  7. added a commit that references this issue on Oct 26, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions