Aller au contenu
  • 0

Michel

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

Lien vers le commentaire
Partager sur d’autres sites

11 réponses à cette question

Recommended Posts

  • 1
Invité Simon D.

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 :)

Lien vers le commentaire
Partager sur d’autres sites

  • 1
Invité Simon D.

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)

Lien vers le commentaire
Partager sur d’autres 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>

 

Lien vers le commentaire
Partager sur d’autres 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

Lien vers le commentaire
Partager sur d’autres sites

  • 0
Invité Simon D.
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...

Lien vers le commentaire
Partager sur d’autres 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>

 

Lien vers le commentaire
Partager sur d’autres sites

Créer un compte ou se connecter pour commenter

Vous devez être membre afin de pouvoir déposer un commentaire

Créer un compte

Créez un compte sur notre communauté. C’est facile !

Créer un nouveau compte

Se connecter

Vous avez déjà un compte ? Connectez-vous ici.

Connectez-vous maintenant
×
×
  • Créer...