Seite 1 von 5 123 ... LetzteLetzte
Ergebnis 1 bis 10 von 41
Like Tree2Likes

Facebook Wohnorte in Google Maps anzeigen (PHP/JavaScript)

Das ist eine Diskussion über Facebook Wohnorte in Google Maps anzeigen (PHP/JavaScript) im Grundlagen / Tipps Forum; Hallo Forum, ich möchte gerne die Wohnorte meiner Freundesliste (Facebook) auslesen und in Google Maps anzeigen, eigentlich soll sich jeder ...

  1. #1
    Lebt sich ein
    Registriert seit
    17.01.2012
    Beiträge
    30

    Standard Facebook Wohnorte in Google Maps anzeigen (PHP/JavaScript)

    Hallo Forum,

    ich möchte gerne die Wohnorte meiner Freundesliste (Facebook) auslesen und in Google Maps anzeigen, eigentlich soll sich jeder auf meiner Seite mit seinem Facebook Konto anmelden können und seine Freunde auf einer Weltkarte (Google Maps) sehen können, evtl. sogar mit Bild.

    Die Freundesliste mit Wohnorte bekomme ich so raus:

    PHP
    Code:
    								$friends = $facebook->api('/me/friends?fields=name,hometown', 'GET');
    								$friendsData = $friends['data'];
    								for ($i = 0; $i < sizeof($friendsData); $i++)
    								{
      								 $friend = $friendsData[$i];
    								 echo "City: " . $friend['hometown']['name'] . "<br>" ;
    								 echo "Name: " . $friend['name'] . "<br>" ;
    								}
    Jetzt möchte ich City/Name auf einer Google Maps Karte darstellen, für die Karte hab ich mir bisher folgendes zusammen gebastellt. Bisher kann man auf der Karte Koordinatoren angeben, mehr nicht. Die Funktion soll hier zusätzlich wenn möglich dazu kommen.

    Code:
    
    
    
    
    <!DOCTYPE 
    
    
    	html 
    	
    
    
     PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    <!--
     Copyright 2008 Google Inc. 
     Licensed under the Apache License, Version 2.0: 
     http://www.apache.org/licenses/LICENSE-2.0 
     -->
    <html xmlns="http://www.w3.org/1999/xhtml">
      <head>
      
        <meta http-equiv="content-type" content="text/html; charset=utf-8"/>
        <title>Google Maps AJAX + MySQL/PHP Example</title>
        <script src="http://maps.google.com/maps?file=api&v=2&key=ABQIAAAAjU0EJWnWPMv7oQ-jjS7dYxSPW5CJgpdgO_s4yyMovOaVh_KvvhSfpvagV18eOyDWu7VytS6Bi1CWxw"
                type="text/javascript"></script>
        <script type="text/javascript">
        //<![CDATA[
        var map;
        var geocoder;
    
    
       function load() {
          if (GBrowserIsCompatible()) {
            var map = new GMap2(document.getElementById("map"), {mapTypes:[G_NORMAL_MAP, G_SATELLITE_MAP, G_HYBRID_MAP]});
            var x = document.getElementById("koords_x").value;
            var y = document.getElementById("koords_y").value;
            var center = new GLatLng(x,y);
            map.addControl(new GLargeMapControl());
        		map.addControl(new GMapTypeControl());
        		map.addControl(new GScaleControl());
        		map.addControl(new GOverviewMapControl());
            map.setCenter(center, 11);       
            map.addOverlay(createMarker( new GLatLng(47.345678, 11.345678), "www.
    
    
    	php 
    	
    
    
    .de ist toll!!!<br>GoogleMaps auch :D"));
          }
        }
      </script>
      </head>
    
    
      <body onload="load()" onunload="GUnload()" bgcolor="silver">
       <form name="maps" action="map.
    
    
    	php 
    	
    
    
    ">
        <div id="map" style="width: 800px; height: 600px"></div>
        <br>
        <input type="text" id="koords_x" size="18" maxlength="15" value="47.345678">
        <br>
        <input type="text" id="koords_y" size="18" maxlength="15" value="11.345678">
        <br>
        <input type="button" name="laden" value="Karte laden" onclick="load() "/>
       </form>
      </body>
      
      echo "
       <script type=\"text/javascript\"><!--
         var daten = \"".$daten."\";
       </script>
     ";

    Nach Ratschlag hier im Forum versuche ich gerade die Daten in ein mehrdimensionalen Array reinzupacken und dann durch ne
    for/each Schleife um sie anschließend auf der Karte anzuzeigen....
    das dürfte so aber sich nicht stimmen, oder?


    Code:
    $Punkte = 
    
    
    	array 
    	
    
    
    ();
    
    
    $Punkte[ ] = 
    
    
    	array 
    	
    
    
    ('Name' => "Facebook Name". 'name',$friend);
    $Punkte[ ] = 
    
    
    	array 
    	
    
    
    ('City' => "Facebook City",'hometown''name', $friend);
    
    
    
    
    foreach($Punkte as $Markierung)     /* aus dem 3-Dimensionalen $Punkte wird ein 2-Dimensionaler $Markierung */
    {
         echo "User<b>$Markierung[Titel]</b> ";
         if($Markierung['name'] != "") {     
              echo "( $Markierung[name] ) ";     
         }
         echo " $Markierung[name].<br />\n";

  2. #2
    Administrator Avatar von Chronos
    Registriert seit
    08.01.2009
    Ort
    127.0.0.1
    Beiträge
    1.908

    Standard

    den array bildest du am besten so

    PHP-Code:
    $punkte[] = array(
    'name' => $name
    'wohnort' => $wohnort); 
    wobei die frage ist, wie sieht den dein

    $friends['data'] genau aus? vielleicht ist es das schon sogar was du brauchst :-)
    Ich höre 10 Stimmen in meinem Kopf, 9 sagen ich sei nicht verrückt, die 10. summt die Melodie von Tetris
    Join us - Starter_Forum@Twitter or join me brokenlinkAT@Twitter
    Kein Support per PN
    brokenlink.at - coming soon

  3. #3
    Lebt sich ein
    Registriert seit
    17.01.2012
    Beiträge
    30
    Themenstarter

    Standard

    Wie meinst denn das? meine $friends['Data'] sieht so aus...

    <?php
    if($user_id)
    {
    try
    {







    $friends = $facebook->api('/me/friends?fields=name,hometown', 'GET');
    $friendsData = $friends['data'];
    for ($i = 0; $i < sizeof($friendsData); $i++)
    {
    $friend = $friendsData[$i];
    echo "City: " . $friend['hometown']['name'] . "<br>" ;
    echo "Name: " . $friend['name'] . "<br>" ;
    }

    Ausgabe ist:

    City: Hamburg
    Name: Frank Müller

  4. #4
    Administrator Avatar von Chronos
    Registriert seit
    08.01.2009
    Ort
    127.0.0.1
    Beiträge
    1.908

    Standard

    ne ich meine der gesamte array

    PHP-Code:
    echo'<pre>'.print_r($friends['data']).'</pre>'
    wie sieht der arrayaufbau aus, kannst mal posten was da rauskommt? zumindest für index 0
    Ich höre 10 Stimmen in meinem Kopf, 9 sagen ich sei nicht verrückt, die 10. summt die Melodie von Tetris
    Join us - Starter_Forum@Twitter or join me brokenlinkAT@Twitter
    Kein Support per PN
    brokenlink.at - coming soon

  5. #5
    Lebt sich ein
    Registriert seit
    17.01.2012
    Beiträge
    30
    Themenstarter

    Standard

    Array ( [0] => Array ( [name] => Frank Müller [hometown] => Array ( [id] => 10796554560008 [name] => Hamburg ) [id] => 123456)

  6. #6
    Administrator Avatar von Chronos
    Registriert seit
    08.01.2009
    Ort
    127.0.0.1
    Beiträge
    1.908

    Standard

    eigentlich könntest du diesen array verwenden und brauchst nicht nen neuen basteln

    PHP-Code:
    foreach($friends['data'] as $data){
     
    $name $data['name'];
     
    $hometown $data['hometown'];

    HIER DAS ZEICHNEN DES PUNKTES AUF DER MAP

    Ich höre 10 Stimmen in meinem Kopf, 9 sagen ich sei nicht verrückt, die 10. summt die Melodie von Tetris
    Join us - Starter_Forum@Twitter or join me brokenlinkAT@Twitter
    Kein Support per PN
    brokenlink.at - coming soon

  7. #7
    Lebt sich ein
    Registriert seit
    17.01.2012
    Beiträge
    30
    Themenstarter

    Standard

    Hey Klasse und vielen Dank! Kannst Du mir noch bitte sagen wie ich das ganze in meine Maps Karte einfüge kann?
    Oder wo genau muss die foreach Schleife hin?

  8. #8
    Administrator Avatar von Chronos
    Registriert seit
    08.01.2009
    Ort
    127.0.0.1
    Beiträge
    1.908

    Standard

    wenn ich deinen code jetzt richtig lesen dann ist folgendes dafür "verantwortlich" das punkte gezeichnet werden

    map.addOverlay(createMarker( new GLatLng(47.345678, 11.34567
    das problem bei dir ist, hometown ist eine stadt und keine koordinaten. d.h du musst das ganze per Geokodierung machen (hört sich kompliziert an, aber im endeffekt ist es nix anderes als die position per adresse)

    ein einfaches beispiel (bevor ich hier lang erkläre)
    Google Maps API Example: Simple Geocoding

    Hier steht die Adresse halt im Input Feld
    ich würde folgendes mal versuchen.

    nach
    PHP-Code:
    geocoder = new GClientGeocoder(); 
    starten wir mit der Schleife

    PHP-Code:
    foreach($friends['data'] as $data){
     $name = $data['name'];
     $hometown = $data['hometown'];
    ?>
    <!-- hier rufen wir die javascript funktion auf und übergeben die adresse -->
    showAddress(<?=$hometown?>);
    <?php
    }
    er ruft jetzt jedesmal die showAddress Funktion auf (siehe Link oben) und übergibt die Adresse, Punkt wird gezeichnet und landet in der Map.
    Ich weiß jetzt nur nicht ob er alle punkte zeigt...und nicht den overLayer immer überschreibt (sorry schon spät)

    verusch das mal heute und sag bescheid, sonst hab ich morgen ne 2. alternative, muss nur schauen wo der Code rumliegt von mir.
    Ich höre 10 Stimmen in meinem Kopf, 9 sagen ich sei nicht verrückt, die 10. summt die Melodie von Tetris
    Join us - Starter_Forum@Twitter or join me brokenlinkAT@Twitter
    Kein Support per PN
    brokenlink.at - coming soon

  9. #9
    Lebt sich ein
    Registriert seit
    17.01.2012
    Beiträge
    30
    Themenstarter

    Standard

    Oki, Vielen Dank, ich versuche mal dein Idee zu realisieren, melde mich dann wieder!

  10. #10
    Lebt sich ein
    Registriert seit
    17.01.2012
    Beiträge
    30
    Themenstarter

    Standard

    Hmm ich bekomme nur ein leeres Fenster zurück?? ich hab dein PHP Code genau hinter
    geocoder = new GClientGeocoder(); eingefügt...


Seite 1 von 5 123 ... LetzteLetzte

Ähnliche Themen

  1. Bilder erst nach klick anzeigen
    Von johnny89 im Forum Hilfe gesucht!
    Antworten: 0
    Letzter Beitrag: 03.01.2012, 17:22
  2. Google Maps mit Stauwarner für Deutschland
    Von fox im Forum Aktuelles
    Antworten: 0
    Letzter Beitrag: 14.07.2011, 14:32
  3. Facebook Javascript-API anzapfen
    Von chrisiauer im Forum Ich suche ...
    Antworten: 8
    Letzter Beitrag: 04.06.2011, 10:28
  4. Google Maps zieht falsche Grenzen
    Von fox im Forum Aktuelles
    Antworten: 0
    Letzter Beitrag: 07.11.2010, 14:55
  5. Video-Anzeigen in Zeitungen!
    Von fox im Forum Aktuelles
    Antworten: 1
    Letzter Beitrag: 22.08.2009, 13:56

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •