Jump to content

Recommended Posts

Posted

Hello,

I use smartCARS for my acars tracker and I was flying a flight just for a test and for some reason the live flight tracker wasn't loading. Does anyone know of any code that I need to add/change so it will work?

 

Thanks

Posted

If it isn't showing up (or showing as a white screen), can you please check your browser console (right click, inspect element => console) and post any errors. If the map is loading but there are no flights showing, then enable and check your logging for any DB errors.

Posted
  On 8/11/2017 at 7:15 AM, web541 said:

If it isn't showing up (or showing as a white screen), can you please check your browser console (right click, inspect element => console) and post any errors. If the map is loading but there are no flights showing, then enable and check your logging for any DB errors.

Expand  

To be honest, they are both an issue, my map only loads after a refresh of my page and No flights show in the map, I'll try the error logging but you can reference this post for the map not loading https://stackoverflow.com/questions/45627716/google-maps-not-appearing-until-refresh

Posted

For the "google is not defined" error, try replacing the contents of your core_htmlhead.php file with this

https://raw.githubusercontent.com/DavidJClark/phpvms_5.5.x/master/core/templates/core_htmlhead.php

And then replace this line

<script type="text/javascript" src="http://maps.google.com/maps/api/js?sensor=true"></script>

With this one

<script async defer src="http://maps.googleapis.com/maps/api/js?key=YOURKEYHERE" type="text/javascript"></script>

And replace YOURKEYHERE with your Google Maps API Key (from their dev console).

Remove any google maps <script> from your layout.php file (keep it in core_htmlhead).

Just remember to keep the order of the lines correct and don't move any around otherwise it will screw up the loading sequence.

Posted
  On 8/11/2017 at 7:31 AM, web541 said:

For the "google is not defined" error, try replacing the contents of your core_htmlhead.php file with this

https://raw.githubusercontent.com/DavidJClark/phpvms_5.5.x/master/core/templates/core_htmlhead.php

And then replace this line

<script type="text/javascript" src="http://maps.google.com/maps/api/js?sensor=true"></script>

With this one

<script async defer src="http://maps.googleapis.com/maps/api/js?key=YOURKEYHERE" type="text/javascript"></script>

And replace YOURKEYHERE with your Google Maps API Key (from their dev console).

Remove any google maps <script> from your layout.php file (keep it in core_htmlhead).

Just remember to keep the order of the lines correct and don't move any around otherwise it will screw up the loading sequence.

Expand  

This is what is in my core_htmlhead.php file

<script async defer src="http://maps.googleapis.com/maps/api/js?key=MY_KEY" type="text/javascript"></script>

 

Posted
  On 8/11/2017 at 7:37 AM, HCStrike said:

I dont think it is a problem with my KEY as the map loads after I refresh the page

Expand  

Yeah that's correct, just confirm you've got flights going at the moment? And check the logs to see if there is any data being populated. Also, in your hosting, go to phpmyadmin and check the phpvms_acarsdata table and see if there are any rows populated.

Posted
  On 8/11/2017 at 7:39 AM, web541 said:

Yeah that's correct, just confirm you've got flights going at the moment? And check the logs to see if there is any data being populated. Also, in your hosting, go to phpmyadmin and check the phpvms_acarsdata table and see if there are any rows populated.

Expand  

I don't have flights running at the moment but yesterday I did and the flight didn't show up. There is nothing in the logs at the moment but I set the logging to 2 so I changed it to 1 and I'll try a flight

Posted
  On 8/11/2017 at 7:48 AM, HCStrike said:

But shouldn't the logs show from what I had yesterday?

Expand  

No, if your debugging logs were not enabled in the local.config.php file, then the logs won't record anything until they are enabled, so you would have to wait until yo have enabled them and you've started a flight.

Posted
  On 8/11/2017 at 9:02 AM, web541 said:

No, if your debugging logs were not enabled in the local.config.php file, then the logs won't record anything until they are enabled, so you would have to wait until yo have enabled them and you've started a flight.

Expand  

They were enabled but they were enabled on 2 instead of 1. Also do you know how I can fix the map not loading until I refresh the page

Posted
  On 8/11/2017 at 9:06 AM, HCStrike said:

They were enabled but they were enabled on 2 instead of 1. Also do you know how I can fix the map not loading until I refresh the page

Expand  

Yes, go to lib/js/acarsmap.js and replace all its contents with this

https://raw.githubusercontent.com/DavidJClark/phpvms_5.5.x/master/lib/js/acarsmap.js

And see if that works. If it breaks your map center, then we can fix that later.

Posted

In your acarsmap.php file, find this

center: new google.maps.LatLng("50.007739", "9.580078"),

Replace it with this

center: new google.maps.LatLng(50.007739, 9.580078),

See if that works

Posted
  On 8/11/2017 at 10:05 AM, web541 said:

In your acarsmap.php file, find this

center: new google.maps.LatLng("50.007739", "9.580078"),

Replace it with this

center: new google.maps.LatLng(50.007739, 9.580078),

See if that works

Expand  

Nope, still only works after a refresh

Posted

Nope, you've done it in the wrong file.

Follow these steps:

  1. Go to lib/js/acarsmap.js and replace all content with this https://raw.githubusercontent.com/DavidJClark/phpvms_5.5.x/master/lib/js/acarsmap.js
  2. Go to lib/skins/YOURSKINNAME/acarsmap.php find this
    <script type="text/javascript">
    var acars_map_defaults = {
    	autozoom: true,
    	zoom: 4,
        center: new google.maps.LatLng("50.007739", "9.580078"),
        mapTypeId: google.maps.MapTypeId.TERRAIN,
        refreshTime: 10000
    };
    </script>

    And replace it with this

  3. <script type="text/javascript">
    var acars_map_defaults = {
    	autozoom: true,
    	zoom: 4,
        center: new google.maps.LatLng("<?php echo Config::Get('MAP_CENTER_LAT'); ?>", "<?php echo Config::Get('MAP_CENTER_LNG'); ?>"),
        mapTypeId: google.maps.MapTypeId.TERRAIN,
        refreshTime: 10000
    };
    </script>

    Go to core/local.config.php and find these (or similar)

    Config::Set('MAP_CENTER_LAT', '45.484400');
    Config::Set('MAP_CENTER_LNG', '-62.334821');

    And replace it with these

  4. Config::Set('MAP_CENTER_LAT', '50.007739');
    Config::Set('MAP_CENTER_LNG', '9.580078');

    Check the outcome

 

Posted
  On 8/11/2017 at 10:13 AM, web541 said:

Nope, you've done it in the wrong file.

Follow these steps:

  1. Go to lib/js/acarsmap.js and replace all content with this https://raw.githubusercontent.com/DavidJClark/phpvms_5.5.x/master/lib/js/acarsmap.js
  2. Go to lib/skins/YOURSKINNAME/acarsmap.php find this
    <script type="text/javascript">
    var acars_map_defaults = {
    	autozoom: true,
    	zoom: 4,
        center: new google.maps.LatLng("50.007739", "9.580078"),
        mapTypeId: google.maps.MapTypeId.TERRAIN,
        refreshTime: 10000
    };
    </script>

    And replace it with this

  3. <script type="text/javascript">
    var acars_map_defaults = {
    	autozoom: true,
    	zoom: 4,
        center: new google.maps.LatLng("<?php echo Config::Get('MAP_CENTER_LAT'); ?>", "<?php echo Config::Get('MAP_CENTER_LNG'); ?>"),
        mapTypeId: google.maps.MapTypeId.TERRAIN,
        refreshTime: 10000
    };
    </script>

    Go to core/local.config.php and find these (or similar)

    Config::Set('MAP_CENTER_LAT', '45.484400');
    Config::Set('MAP_CENTER_LNG', '-62.334821');

    And replace it with these

  4. Config::Set('MAP_CENTER_LAT', '50.007739');
    Config::Set('MAP_CENTER_LNG', '9.580078');

    Check the outcome

 

Expand  

I've done all that and it is still the same problem

Posted

Can you please replace all content in lib/js/acarsmap.js with this https://raw.githubusercontent.com/DavidJClark/phpvms_5.5.x/master/lib/js/acarsmap.js I can see that you have not done it yet, the rest seems to be fine. Can you also try removing this out of lib/skins/YOURSKINNAME/acarsmap.php

<script type="text/javascript">
var acars_map_defaults = {
	autozoom: true,
	zoom: 4,
    center: new google.maps.LatLng("<?php echo Config::Get('MAP_CENTER_LAT'); ?>", "<?php echo Config::Get('MAP_CENTER_LNG'); ?>"),
    mapTypeId: google.maps.MapTypeId.TERRAIN,
    refreshTime: 10000
};
</script>

But please copy the contents of the above first, that will fix one error, you seem to have overwritten it in a step above.

Posted (edited)
  On 8/11/2017 at 10:26 AM, web541 said:

Can you please replace all content in lib/js/acarsmap.js with this https://raw.githubusercontent.com/DavidJClark/phpvms_5.5.x/master/lib/js/acarsmap.js I can see that you have not done it yet, the rest seems to be fine. Can you also try removing this out of lib/skins/YOURSKINNAME/acarsmap.php

<script type="text/javascript">
var acars_map_defaults = {
	autozoom: true,
	zoom: 4,
    center: new google.maps.LatLng("<?php echo Config::Get('MAP_CENTER_LAT'); ?>", "<?php echo Config::Get('MAP_CENTER_LNG'); ?>"),
    mapTypeId: google.maps.MapTypeId.TERRAIN,
    refreshTime: 10000
};
</script>

But please copy the contents of the above first, that will fix one error, you seem to have overwritten it in a step above.

Expand  

I have replaced the content of the acarsmap.js and also removed the required code, still the same and now the map doesnt appear at all

Edited by HCStrike
Posted

Ok thanks, that gives me a better idea. Try placing this in lib/skins/YOURSKINNAME/acarsmap.php

<script type="text/javascript">
var acars_map_defaults = {
	autozoom: true,
	zoom: 4,
    mapTypeId: google.maps.MapTypeId.TERRAIN,
    refreshTime: 10000
};
</script>

Without the center, it might fix it. At the moment, it is still looking for the 'defaults'.

Posted
  On 8/11/2017 at 10:32 AM, web541 said:

Ok thanks, that gives me a better idea. Try placing this in lib/skins/YOURSKINNAME/acarsmap.php

<script type="text/javascript">
var acars_map_defaults = {
	autozoom: true,
	zoom: 4,
    mapTypeId: google.maps.MapTypeId.TERRAIN,
    refreshTime: 10000
};
</script>

Without the center, it might fix it. At the moment, it is still looking for the 'defaults'.

Expand  

Done that and its brought back the same errors

Posted (edited)

First try removing this line

mapTypeId: google.maps.MapTypeId.TERRAIN,

Also try replacing your <script> (the one with the api key) with https:// instead of http://

Also try this link

<script type="text/javascript" src="https://maps.google.com/maps/api/js?key=YOUR_KEY_HERE&sensor=true"></script>

 

Edited by web541
Posted
  On 8/11/2017 at 11:05 AM, web541 said:

First try removing this line

mapTypeId: google.maps.MapTypeId.TERRAIN,

Also try replacing your <script> (the one with the api key) with https:// instead of http://

Also try this link

<script type="text/javascript" src="https://maps.google.com/maps/api/js?key=YOUR_KEY_HERE&sensor=true"></script>

 

Expand  

I've made all those changes and it is still the same error, although there is a new warning saying sensor is not required

Posted

Ok I was able to reproduce this error.

Try the following:

  1. Go to lib/skins/crewcenter/core_htmlhead.php and change your google maps api reference to this
    <script src="https://maps.googleapis.com/maps/api/js?key=YOURKEYHERE"></script>

    Notice there's no async defer in the script reference as it is waiting to asynchronous load the map via the &callback function, because phpVMS is programmed in a way that it loads after the page, not with it (i.e. there's no function init() to load). This seemed to fix it for me.

  2. Also in lib/skins/crewcenter/acarsmap.php add this back in

    <script type="text/javascript">
    var acars_map_defaults = {
    	autozoom: true,
    	zoom: 4,
        center: new google.maps.LatLng("<?php echo Config::Get('MAP_CENTER_LAT'); ?>", "<?php echo Config::Get('MAP_CENTER_LNG'); ?>"),
        mapTypeId: google.maps.MapTypeId.TERRAIN,
        refreshTime: 10000
    };
    </script>

    And it should be fixed, report any further issues back here.

  • Like 1
Posted
  On 8/11/2017 at 11:17 PM, web541 said:

Ok I was able to reproduce this error.

Try the following:

  1. Go to lib/skins/crewcenter/core_htmlhead.php and change your google maps api reference to this
    <script src="https://maps.googleapis.com/maps/api/js?key=YOURKEYHERE"></script>

    Notice there's no async defer in the script reference as it is waiting to asynchronous load the map via the &callback function, because phpVMS is programmed in a way that it loads after the page, not with it (i.e. there's no function init() to load). This seemed to fix it for me.

  2. Also in lib/skins/crewcenter/acarsmap.php add this back in

    <script type="text/javascript">
    var acars_map_defaults = {
    	autozoom: true,
    	zoom: 4,
        center: new google.maps.LatLng("<?php echo Config::Get('MAP_CENTER_LAT'); ?>", "<?php echo Config::Get('MAP_CENTER_LNG'); ?>"),
        mapTypeId: google.maps.MapTypeId.TERRAIN,
        refreshTime: 10000
    };
    </script>

    And it should be fixed, report any further issues back here.

Expand  

That seems to have done the job, thank you very much

  • Like 1

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...