Jump to content

Question

Bonjour,

En local la carte avec des pointeurs s'affiche normalement, en ligne page vide.
Les coordonnées lat et long proviennent d'un fichier texte.

Mais bon, tout ça s'affiche correctement en local et en ligne je ne vois pas ce qui peut coincer.

Une idée ?

Cdl

Michel

Share this post


Link to post
Share on other sites

11 answers to this question

Recommended Posts

  • 1

Bonjour,

Merci pour le code. Je reproduis uniquement lorsque le site est en HTTPS.

La cause :

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

A remplacer par :

<script src="///maps.google.com/maps/api/js?v=3&sensor=false" type="text/javascript"></script>

Les "///" permet de choisir HTTP lorsque le site est en HTTP et HTTPS lorsqu'il est en ... HTTPS :)

  • Upvote 1

Share this post


Link to post
Share on other sites
  • 1

Bonjour,

Question toute simple : pourquoi avoir fait cette usine pour parser un fichier txt qui ressemble à du PHP plutôt que d'avoir un vrai fichier PHP qui retourne un tableau + json_encode derrière ?

Voir avoir directement les coordonnées dans un fichier JSON et le charger en Javascript ?

De mon côté le code ne fonctionne pas mais celui fourni est forcément incomplet (pas de div map, pas d'inclusion du JS Google Maps)

Share this post


Link to post
Share on other sites
  • 0

Hello !

Juste, on parle de quoi ici ? Tu as un exemple en ligne du pb ? Quelque chose que l'on peut voir quelque part ?

Je n'ai pas compris ton problème ici :)

Simon

Share this post


Link to post
Share on other sites
  • 0

Bonjour,

Désolé pour le retard, mais j'étais passé sur autre chose.
Donc j'y vais pour des détails supplémentaires.

J'ai ce script pour afficher la carte.
En local ça fonctionne, aussi bien comme affiché qu'avec la ligne $gps commentée, mais en ligne ça n'affiche rien...avec le même fichier.
Vos lumières sont nécessaires.
Cdl
Michel
 

  <script type="text/javascript">
    var locations = [ 
      
<?php

$gps = file_get_contents('gps.txt');
//$gps = "43.676585, 4.093285 ; 43.564159, 4.087714 ; 43.561476, 4.068167";
$gps = explode (";", $gps); 
$nb=count($gps);
for ($i=0; $i<$nb; $i++) {
$var = $gps[$i]; 
                             
  echo	'['.$var.',1],'; 
  }
  ?>
          [  43.676585,4.093285, 1]  
    ];

    var map = new google.maps.Map(document.getElementById('map'), {
      zoom: 11,
      center: new google.maps.LatLng(43.671476,4.068167),
      mapTypeId: google.maps.MapTypeId.ROADMAP
    });

    var infowindow = new google.maps.InfoWindow();

    var marker, i;

    for (i = 0; i < locations.length; i++) {  
      marker = new google.maps.Marker({
        position: new google.maps.LatLng(locations[i][0], locations[i][1]),
        map: map
      });

      google.maps.event.addListener(marker, 'click', (function(marker, i) {
        return function() {
          infowindow.setContent(locations[i][0]);
          infowindow.open(map, marker);
        }
      })(marker, i));
    }
  </script>

 

Share this post


Link to post
Share on other sites
  • 0
Il y a 2 heures, Simon DUJANCOURT a dit :

Bonjour,

Question toute simple : pourquoi avoir fait cette usine pour parser un fichier txt qui ressemble à du PHP plutôt que d'avoir un vrai fichier PHP qui retourne un tableau + json_encode derrière ?

Voir avoir directement les coordonnées dans un fichier JSON et le charger en Javascript ?

De mon côté le code ne fonctionne pas mais celui fourni est forcément incomplet (pas de div map, pas d'inclusion du JS Google Maps)

Ouais, mais vos explications techniques ne me donnent pas de solution et d'explications sur le fait que ça fonctionne en local et qu'est-ce qui fait que ce simple code ne fonctionne pas en ligne. Ça devrait fonctionner normalement.
Cdl
Michel

  • Downvote 1

Share this post


Link to post
Share on other sites
  • 0
Il y a 3 heures, Michel a dit :

Ouais, mais vos explications techniques ne me donnent pas de solution et d'explications sur le fait que ça fonctionne en local et qu'est-ce qui fait que ce simple code ne fonctionne pas en ligne. Ça devrait fonctionner normalement.
Cdl
Michel

Encore faudrait-il avoir le code complet...

  • Upvote 1

Share this post


Link to post
Share on other sites
  • 0

Bonsoir,

Voici le code de la page :
Cdl,

Michel

 

<?php

//Le fichier gps.txt comprend ceci
//43.676585, 4.093285 ; 43.564159, 4.087714 ; 43.561476, 4.068167; 51.514980, -0.144328

$lalo ="";
if (!$fp = fopen("gps.txt","r")) {
echo "Echec de l'ouverture du fichier GPS.txt";

exit;

}

else {
 while(!feof($fp)) {
 // On récupère une ligne
  $Ligne = fgets($fp);

 // On affiche la ligne
  //echo $Ligne.'<br />';
 
 // On stocke l'ensemble des lignes dans une variable
  $lalo .= $Ligne;
 
 }
 fclose($fp); // On ferme le fichier
}  
//echo $lalo;

?>
<html>
    <head>
        <meta http-equiv="content-type" content="text/html; charset=utf-8"/>
        <title>Map</title>
        <style type="text/css">
            body { font: normal 10pt Helvetica, Arial; }
            #map { width: 950px; height: 650px; border: 0px; padding: 0px; }
        </style>
        <script src="http://maps.google.com/maps/api/js?v=3&sensor=false" type="text/javascript"></script>  

        <script type="text/javascript">
            var icon = new google.maps.MarkerImage("http://maps.google.com/mapfiles/ms/micons/red.png",
                       new google.maps.Size(32, 32), new google.maps.Point(0, 0),
                       new google.maps.Point(16, 32));
            var center = null;
            var map = null;
            var currentPopup;
            var bounds = new google.maps.LatLngBounds();
            function addMarker(lat, lng, info) {
                var pt = new google.maps.LatLng(lat, lng);
                bounds.extend(pt);
                var marker = new google.maps.Marker({
                    position: pt,
                    icon: icon,
                    map: map
                });
                var popup = new google.maps.InfoWindow({
                    content: info,
                    maxWidth: 900
                });
                google.maps.event.addListener(marker, "click", function() {
                    if (currentPopup != null) {
                        currentPopup.close();
                        currentPopup = null;
                    }
                    popup.open(map, marker);
                    currentPopup = popup;
                });
                google.maps.event.addListener(popup, "closeclick", function() {
                    map.panTo(center);
                    currentPopup = null;
                });
            }
            function initMap() {
                map = new google.maps.Map(document.getElementById("map"), {
                    center: new google.maps.LatLng(43.612005, 3.976273), 
                    zoom: 9,
                    mapTypeId: google.maps.MapTypeId.ROADMAP,
                    mapTypeControl: false,
                    mapTypeControlOptions: {
                    style: google.maps.MapTypeControlStyle.HORIZONTAL_BAR
                    },
                    navigationControl: true,
                    navigationControlOptions: {
                     style: google.maps.NavigationControlStyle.SMALL
                    }
                });
      
               
<?php // charge lat et long
      //$lalo = "43.676585, 4.093285 ; 43.564159, 4.087714 ; 43.561476, 4.068167; 51.514980, -0.144328";

      $lalo = explode(";",$lalo);
      $nb=count($lalo); 
      for($i=0;$i<$nb;$i++){
     
      echo ("addMarker($lalo[$i],'');");
                       }

?>               
                    addMarker(43.612005, 3.976273,'');
                    center = bounds.getCenter();
                    map.fitBounds(bounds);
 
            }
        </script> 

</head>

<body>...

<body onload="initMap()" style="margin:0px; border:0px; padding:0px;">
    <h4>Map points connect</h4>
        <div id="map"></div>

</body>
</html>

 

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×