Open ulver2812 opened 3 years ago
Please share your project files on GitHub repository. Too less information
Hi, thanks for the reply, I found the issue, the maps works well I added this CSS rule in the global.scss file:
ion-content{
--background: #dfdfdf;
}
this rule set the background color correclty but it hide the map. I removed this rule and used this code:
import {Environment} from '@ionic-native/google-maps/ngx';
...
async ngOnInit(){
await this.platform.ready();
Environment.setBackgroundColor('#dfdfdf');
await this.loadMap();
}
...
but the background remains white, I get this log in the xcode console:
2020-08-21 11:26:58.313932+0200 AppAgentiMangimiLiverini[19520:160445] background = #fff
In Ionic 3 the Environment.setBackgroundColor work well but in Ionic 5 seems to not work, it can be related to the shadow dom?
If you out a map div inside a shadow DOM, plugin can not check inside it.
My map div is inside an ion-segment, I have a simple page, inside this page there is a ion-segment with the map div within.
When the page is initialized (ngOnInit) I set the background color as the code above.
But this is the normal way to build ionic app in Ionic 5 so I can't understand why the setBackgroundColor is completely ignored.
There's a way to set the default background color as #dfdfdf instead of #ffffff ?
Ah, I see. I got it. The recent version of this plugin automatically sets the background color of parent elements when you create a map.
So, try to set background color to <body>
(for example)
The reason is that most (new) users prefer to use this plugin like a normal HTML map. So they expects the background color is the same as specified in CSS files.
Picks up background color while the plugin changes the background color as transparent
, then uses the last background color
So, try to set background color to body (for example)
I tried to set this, works in browser but not in iOS:
<body style="background-color: #dfdfdf;">
<app-root style="background-color: #dfdfdf;"></app-root>
</body>
Picks up background color while the plugin changes the background color as transparent, then uses the last background color
How I can do that? Can you provide an example?
Thanks
Please share your project files on GitHub. I can't see your situation
Ok, thanks, I will share it on monday, so you can take a look. Thanks a lot, have a nice weekend!
@wf9a5m75 Hi, I created a private repo and invited you, thanks for the help.
You can find the map code in src/app/pages/home/
but also in other app pages.
Thank you. I will check it out later today
Hi @wf9a5m75 , any news?
I checked your code, but I can't run it (because there is no login/password information)
As far as I read your code and the error log, the error causes when you changing the pages quickly.
Hi @wf9a5m75, you can find the login information in the README.md file.
What do you mean with changing the pages quickly, there's a way to slow down the page changing?
Thanks
The issue may be related to the ion-segment? All maps in the app are loaded inside an ion-segment. I'm struggling with this issue by days ... 😩
I haven't tested with ion-segment
.
In your code, you try to setVisible
when the segment is changed. But the maps plugin should take care automatically.
Please try to comment out map.setVisible
. I have my stuff this morning, so I will check your repo in this afternoon when I have a chance
Please try to comment out
map.setVisible
I just tried, the issue persist, I didn't notice differences.
I'm pretty sure that the issue is related to the ion-segment, when you switch the segment something overwrite the Environment.setBackgroundColor('#dfdfdf');
This issue was not present in Ionic 3 segment...
For whom will incur in the same issue, I found a workaround, the issue is related to the ion-segment, if you put the map within an ion-segment when you switch segment the background color will change to transparent.
So I changed my code in this way:
In the variables.scss I set the ion-background-color
:root {
--ion-background-color: #dfdfdf;
...
}
In the page I used this code
<ion-segment class="clients-segment" [(ngModel)]="view" (ionChange)="onSegmentChange($event)">
<ion-segment-button value="map">
<ion-label>Map</ion-label>
</ion-segment-button>
<ion-segment-button value="list">
<ion-label>List</ion-label>
</ion-segment-button>
</ion-segment>
...
<div [style.display]="view == 'map' ? 'block' : 'none'" id="home_map_wrapper">
<div id="home_map"></div>
</div>
basically when the segment is changed to list the map wrapper div is set to display: none;
while when the segment is changed to map the map wrapper div is set to display: block;
I have the same problem on ios now: map is working, but i cant scroll it
Пожалуйста, попробуйте это
https://www.npmjs.com/package/@ionic-native/google-maps/v/5.27.0-beta-20200630
i use it
I'm submitting a ... (check one with "x")
If you choose 'problem or bug report', please select OS: (check one with "x")
cordova information: (run
$> cordova plugin list
)If you use
@ionic-native/google-maps
, please tell the package.json (only@ionic-native/core
and@ionic-native/google-maps
are fine mostly)Current behavior: I migrated an app from ionic 3 to ionic 5, so now I'm using ionic 5 and the map works well in browser but it doesn't work on iOS (13.4.1) I get a grey screen instead of the map. This is the console log in xcode while the simulator is running:
The Google API key is correct, it works with the app in ionic 3.
Expected behavior: That it works on iOS.
Thanks