I'm using:
"cordova-plugin-googlemaps": "^2.3.3",
"@ionic-native/google-maps": "^4.8.2",
"@ionic-native/core": "^4.7.0",
"cordova-android": "7.0.0",
I tried Your 2.2.9 and had issue with markers. Now I deleted old version ionic cordova plugin remove cordova-plugin-googlemaps and installed new with ionic cordova plugin add cordova-plugin-googlemaps --variable API_KEY_FOR_ANDROID="THE_SAME_KEY".
Also deleted and add android platform.
I don't have any restrictions on key:

Map is gray. Markers are working. In debug console I have no error.
What can be wrong? Do I need to add something else?

I am having same problem. My occurrences of MAP_READY are not firing on android 4.4.4 and 4.4.2 that I have found. There was another issue that was closed but I had followed the steps to update your google services to 15.0.1 but this had no effect for me.
I have this in place with no avail. Please reconsider this issue as I have not found a resolution.
I have an example app up here that need your own keys but should demonstrate the bug.
https://github.com/StobyWan/g-maps-test
had to update it ( a few times ) but its good now.
I continue to never have the MAP_READY event called with minsdk at 19 on android 4.4.x
I don't accept spam zip file. Please share your project files on GitHub.
@StobyWan I just built your project files, and run it on Android 4.4.4.

@piernik >Map is gray.
This mean your api key is not allow to use Google Maps Android API v2. Regenerate your api key.
I did generated new API key - the same result.
You're saying Google Maps Android API v2. I can't see it. I'm using Maps SDK for Android. I think it's the same think, right?
Tomorrow I'll try clean install with new key.
My api 19 has android 4.4.2 as well were you able to run on this version? I see your is 4.4.4

what else could i be doing wrong? here the code is exactly the same just running on to versions 8.1.0 API 27 works perfectly.
4.4.42 API 19 does not...
is there anything I could be missing?
I don't have Android 4.4.2 device, but should work.
By the way, nobody use such an old device anymore except developers.
@wf9a5m75 Google Maps Android API v2 and Maps SDK for Android are the same thing- right?
Yes, but you have to enable it BEFORE generate your api key.
I figured it out. Key was correct.
I did a clean install and I noticed that it didn't have "PLAY_SERVICES_VERSION": "15.0.1", "ANDROID_SUPPORT_V4_VERSION": "26.1.0" lines in package.json. So I first deleted platform folder, added Your plugin and added android platform.
New commands disapeared from package.json and now it's working as it should.
Thank for help.