Autor Zpráva
sir_lamoid
Profil
Skouším zobrazování dat z db do map googlu
našel jsem jQuery plugin jMapping ale něják my to nefunguje.. připojit se to k db připojí, pomocí var_dump sou data správná.. mam chybu v tom vypisování. Prosím pomozte. Zde je příklad z officialních stránek:
<div id="map"></div>

<div id="map-side-bar">
  <div class="map-location" data-jmapping="{id: 1, point: {lng: -122.2678847, lat: 37.8574888}, category: 'market'}">
    <a href="#" class="map-link">Berkeley Bowl</a>
    <div class="info-box">
      <p>A great place to get all your groceries, especially fresh fruits and vegetables.</p>
    </div>
  </div>
  <div class="map-location" data-jmapping="{id: 2, point: {lng: -122.4391131, lat: 37.7729943}, category: 'restaurant'}">
    <a href="#" class="map-link">Nopalito</a>
    <div class="info-box">
      <p>The best authentic Mexican restaurant in San Francisco.</p>
    </div>
  </div>
  <div class="map-location" data-jmapping="{id: 3, point: {lng: -122.4481651, lat: 37.8042096}, category: 'museum'}">
    <a href="#" class="map-link">Exploratorium</a>
    <div class="info-box">
      <p>A hands-on museum of science, art, and human perception in San Francisco.</p>
    </div>
  </div>
</div>
A zde je jak jsem to udělal já
<script src="js/slides.min.jquery.js"></script>
    <script src="js/markermanager.js" type="text/javascript"></script>
    <script src="js/StyledMarker.js" type="text/javascript"></script>
    <script src="js/jquery.metadata.js" type="text/javascript"></script>
    <script src="js/jquery.jmapping.min.js" type="text/javascript"></script>
<script src="http://maps.google.com/maps/api/js?v=3.5&amp;sensor=false" type="text/javascript"></script>
  <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.6.4/jquery.min.js"></script>
    <title>
       TEST
    </title>
</head>
<body><div id="map"></div><div id="map-side-bar">
<?php
include "include/dibi.min.php";
                            dibi::connect($db);
                            dibi:; 
                        $vysledek=mysql_query("select * from maps");
                    while ($map=mysql_fetch_array($vysledek)):
                    $id=$map["id"];
                    $lng=$map["lng"];
                    $lat=$map["lat"];
                    $category=$map["category"];
                    $maplink=$map["maplink"];
                    $info=$map["info"];
                        echo '<div class="map-location" data-jmapping="{id: '.$id.', point: {lng: '.$lng.', lat: '.$lat.'}, category: '.$category.'}">';
                        echo '<a href="#" class="map-link">'.$maplink.'</a><div class="info-box"><p>'.$info.'</p></div></div>';
                    endwhile;
                    ?></div>
<script type="text/javascript">
  $(document).ready(function(){
    $('#map').jMapping({
      category_icon_options: function(category){
        if (category.charAt(0).match(/[a-m]/i)){
          return {color: '#E8413A'};
        } else if (category.charAt(0).match(/[n-z]/i)){
          return new google.maps.MarkerImage('http://chart.apis.google.com/chart?chst=d_map_xpin_icon&chld=pin_star|home|00FFFF|FF0000');
        } else {
          return {color: '#7CDF65'};
        }
      }
    });
  });
</script>

</body>
sir_lamoid
Profil
Oprava kódu, ale stále to nefunguje jinaka živá ukázka na Zde
<!DOCTYPE HTML>
<html lang="cs-cz" dir="ltr">
<head>
<style>
#map {
    width: 500px;
    height: 400px;
    z-index: 2;
}</style>
<script src="js/slides.min.jquery.js"></script>
    <script src="js/markermanager.js" type="text/javascript"></script>
    <script src="js/StyledMarker.js" type="text/javascript"></script>
    <script src="js/jquery.metadata.js" type="text/javascript"></script>
    <script src="js/jquery.jmapping.min.js" type="text/javascript"></script>
<script src="http://maps.google.com/maps/api/js?v=3.5&sensor=false" type="text/javascript"></script>
  <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.6.4/jquery.min.js"></script>
    <title>
       TEST
    </title>
</head>
<body>
<div id="map"></div>
<div id="map-side-bar">
<?php
include "include/dibi.min.php";
                            dibi::connect($db);
                            dibi:; 
                        $vysledek=mysql_query("select * from maps");
                    while ($map=mysql_fetch_array($vysledek)):
                    $id=$map["id"];
                    $lng=$map["lng"];
                    $lat=$map["lat"];
                    $category="'".$map["category"]."'";
                    $maplink=$map["maplink"];
                    $info=$map["info"];
                        echo '<div class="map-location" data-jmapping="{id: '.$id.', point: {lng: '.$lng.', lat: '.$lat.'}, category: '.$category.'}">';
                        echo '<a href="#" class="map-link">'.$maplink.'</a><div class="info-box"><p>'.$info.'</p></div></div>';
                    endwhile;
                    ?>
</div>
<script type="text/javascript">
  $(document).ready(function(){
    $('#map').jMapping({
      category_icon_options: function(category){
        if (category.charAt(0).match(/[a-m]/i)){
          return {color: '#E8413A'};
        } else if (category.charAt(0).match(/[n-z]/i)){
          return new google.maps.MarkerImage('http://chart.apis.google.com/chart?chst=d_map_xpin_icon&chld=pin_star|home|00FFFF|FF0000');
        } else {
          return {color: '#7CDF65'};
        }
      }
    });
  });
</script>
 
</body>
</html>
Alphard
Profil
Jak vypadá vygenerovaný kód, mám hledat chybu v php části, nebo to nechat kolegům, ať se podívají na zbytek? Už je živá ukázka.
Přestože se jeden div (nevíme z kolika) vypíše zřejmě správně
<div class="map-location" data-jmapping="{id: 1, point: {lng: 49.398471, lat: 17.677651}, category: 'bases'}"><a href="#" class="map-link">ProstÄ› dĹŻm</a><div class="info-box"><p>ProstÄ› dĹŻm</p></div></div></div>
je tam dost věcí, co by se měly vylepšit.
$db předpokládám obsahuje login údaje k db, pak je dibi::connect v pořádku, ale dibi:; má být co? Dále se pak s dibi nepracuje a je tam klasická (zastaralá) mysql extenze, což působí taktéž zvláštně. Pak když pominu neužitečnost kopírovat hodnoty pole do samostatných proměnných, další chyby nevidím.

Testujete to někde na lokálním serveru, kde máte povolené zobrazování chyb, nebo přímo na serveru?

Proč nefunguje javascriptová část jistě napíší kolegové, mně se pro začátek zdá zvláštní, že jQuery načítáte až jako poslední.
sir_lamoid
Profil
Takže dibi:; jsem smazal jQuery jsem přesunul na začátek <head> a hle ono to funguje
děkuji.. taká trivialní chyba :D

Vaše odpověď

Mohlo by se hodit

Neumíte-li správně určit příčinu chyby, vkládejte odkazy na živé ukázky.
Užíváte-li nějakou cizí knihovnu, ukažte odpovídajícím, kde jste ji vzali.

Užitečné odkazy:

Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: