• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

[ERLEDIGT] Landkarte: paar Fragen

Status
Für weitere Antworten geschlossen.

amê

Neues Mitglied
Hallo,

ich habe über HTML eine Landkarte erstellt mit Mapareas. Ich habe dazu zwei Fragen und bin mir nicht sicher, ob es mit css geht oder eher java, da ich ehrlich gesagt nur Anwender bin, aber bin mit dem Latein ein bisschen am ende. Also angenommen, man geht über das Zeichen Hamburg, dann sollte dann das Logo Hamburg erscheinen, wie geht das oder wo kann ich sowas im Internet nachlesen.

Das nächste ist, wenn man über die Maparea geht, erscheint rechts neben der Karte ein Text. Ist das möglich, dass der Text 10-20 Sekunden angezeigt wird oder kann man das so Einstellen, dass wenn man da drüber geht, dass es erstmal bleibt und erst wenn man über eine andere Maparea geht, dass der alte Text dann verschwindet und der neue Text neue kommt?

Hoffe ihr versteht, was ich meine.

Hier der Code:
Code:
<!DOCTYPE html>
  <head>
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>test</title>
    <style type="text/css">
            .point_container {
            display: none;
            position: absolute;
            top: 400px;
            left: 1020px;
            font-size: 10pt;
            color: #111111;
            background: #00bffF
            }
        </style>
        <script type="text/javascript">
            function showMapInfo(id) {
            document.getElementById(id).style.display = "block";
            }
            function hideMapInfo(id) {
            document.getElementById(id).style.display = "none";
            }
        </script>
</head>
<body>
  <div id="hamburg" class="point_container">
        <h2>Hamburg </h2>
        <p>  
tolle Stadt!<br>
        </p>
        </div>
        
        <div id="Hannover" class="point_container">
        <h2>Hannover</h2>
        <p>  
96, Hauptstadt Niedersachsens<br>
        </p>
        </div>
        
        <div id="Koeln" class="point_container">
        <h2>Köln </h2>
        <p>  
eine Liebe!<br>
        </p>
        </div>
      
        <p> <img src="http://www0.xup.in/exec/ximg.php?fid=84604980" alt="Karte" usemap="#Landkarte">

<map name="Landkarte">
        <area shape="rect" coords="431,216,478,247" href="http://www.hamburg.de" alt="Hamburg" target="new window"
        onmouseout="hideMapInfo('hamburg')" onmouseover="showMapInfo('hamburg')">

        <area shape="rect" coords="374,383,406,412" href="http://www.hannover.de" alt="Hannover" target="new window"
        onmouseout="hideMapInfo('Hannover')" onmouseover="showMapInfo('Hannover')">

        <area shape="rect" coords="131,627,169,656" href="http://www.köln.de" alt="Köln"
        onmouseout="hideMapInfo('Koeln')" onmouseover="showMapInfo('Koeln')" target="new window">
      
        </map>

  </body>
</html>

Wenn ich eine Lösung gefunden habe, werde ich mich natürlich melden. :)
 
Werbung:
Hallo

Wie soll das ganze mit Touchscreengeräte funktionieren, die bekanntlich keinen hover-Effekt kennen und heutzutage von über 70% aller Anwender mit steigender Tendenz benutzt werden? Die können deine Seite dann ja überhaupt nicht benutzen?

Mapareas sind veraltet, verweissensive Grafiken werden heutzutage mit SVG erstellt.

Gruss

MrMurphy
 
Das mit den Touchscreens ist völlig egal. Es für meine Oma und paar ihrer Freundinnen und die haben alle einen PC und werden sich kein Touchscreen-Gerät (mehr) besorgen.

Es dient nur zur Privat-Nutzung und sollte funktionieren ;) ob es veraltet ist dann eher sekundär oder gibts dann keine Lösung dafür?
 
Werbung:
Du hast doch schon zwei JS- Funktionen bei mouseover und out, dann kannst du doch bei der Mouseover- Funktion einen Text neben die Karte schreiben.
Edit: Habe dich falsch verstanden. Lass doch einfach die Mouseout- Funktion stehen, dann bleibt der Text ja auch stehen
EditEdit: Ich zeige dir gleich was Ich meine
 
Wow, danke für deine Mühe. Jetzt fehlt nur noch der Punkt mit den Bildwechsel bzw. dass auf der Position das Bild/Wappen erscheint.
 
Werbung:
Ich habe noch nie mit <map> und sowas gearbeitet, da das veraltet ist. Wie hast du die <area>´s rot gekriegt? :eek: Da müsste dann ja auch die Lösung sein, wie du dort ein Bild rein bekommst
 
Werbung:
haha, die hab ich ganz einfach über pain hinzugefügt. keine große zauberei.

Also ich habe es jetzt so laut tutorials hinbekommen, aber wie kriege ich das hin, dass ich das bild dorthin bekomme, wo sich auch die Position der Maus ist? (hab jetzt nur Hamburg erstmal gemacht. Größe des Wappens wird später gemacht, will erstmal nur, dass es funktioniert)

Code:
<!DOCTYPE html>
  <head>
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>test</title>
    <style type="text/css">
            .point_container {
            position: absolute;
            top: 400px;
            left: 1020px;
            font-size: 10pt;
            color: #111111;
            background: #00bffF
            }
        </style>
        <script type="text/javascript">
            function showMapInfo(id) {
  var text;
switch(id) {
  case "Koeln": text = "<h2>Köln</h2> <p>eine Liebe</p>";
    break;
  case "hamburg": text = "<h2>Hamburg</h2> <p>tolle Stadt</p>";
    break;
  case "Hannover": text = "<h2>Hannover</h2> <p>96, Hauptstadt Niedersachsens</p>";
    break;
}
  document.querySelector('.point_container').innerHTML = text;
}
function tooltip (id) {
document.getElementById('output').innerHTML = '<img src=' + id + ' />';
document.getElementById('output').style.top = window.event.y;
document.getElementById('output').style.left = window.event.x;
document.getElementById('output').style.display = 'block';
}
function tooltipdown () {
document.getElementById('output').style.display = "none";
}


        </script>
</head>
<body>
<div class="point_container"></div>
<div id="output" style="position:absolute; display:none;"></div>

   <img src="http://www0.xup.in/exec/ximg.php?fid=84604980" alt="Karte" usemap="#Landkarte">

<map name="Landkarte">
        <area shape="rect" coords="431,216,478,247" href="http://www.hamburg.de" alt="Hamburg" target="new window" onmouseover="tooltip('http://www.jannisutz.de/downloads/Hamburg.jpg'); showMapInfo('hamburg')" onmouseout="tooltipdown('http://www.jannisutz.de/downloads/Hamburg.jpg')">

        <area shape="rect" coords="374,383,406,412" href="http://www.hannover.de" alt="Hannover" target="new window"
     onmouseover="showMapInfo('Hannover')">

        <area shape="rect" coords="131,627,169,656" href="http://www.köln.de" alt="Köln" onmouseover="showMapInfo('Koeln')" target="new window">
   
        </map>

  </body>
</html>
[Code]
<!DOCTYPE html>
  <head>
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>test</title>
    <style type="text/css">
            .point_container {
            position: absolute;
            top: 400px;
            left: 1020px;
            font-size: 10pt;
            color: #111111;
            background: #00bffF
            }
        </style>
        <script type="text/javascript">
            function showMapInfo(id) {
  var text;
switch(id) {
  case "Koeln": text = "<h2>Köln</h2> <p>eine Liebe</p>";
    break;
  case "hamburg": text = "<h2>Hamburg</h2> <p>tolle Stadt</p>";
    break;
  case "Hannover": text = "<h2>Hannover</h2> <p>96, Hauptstadt Niedersachsens</p>";
    break;
}
  document.querySelector('.point_container').innerHTML = text;
}
function tooltip (id) {
document.getElementById('output').innerHTML = '<img src=' + id + ' />';
document.getElementById('output').style.top = window.event.y;
document.getElementById('output').style.left = window.event.x;
document.getElementById('output').style.display = 'block';
}
function tooltipdown () {
document.getElementById('output').style.display = "none";
}


        </script>
</head>
<body>
<div class="point_container"></div>
<div id="output" style="position:absolute; display:none;"></div>

   <img src="http://www0.xup.in/exec/ximg.php?fid=84604980" alt="Karte" usemap="#Landkarte">

<map name="Landkarte">
        <area shape="rect" coords="431,216,478,247" href="http://www.hamburg.de" alt="Hamburg" target="new window" onmouseover="tooltip('http://www.jannisutz.de/downloads/Hamburg.jpg'); showMapInfo('hamburg')" onmouseout="tooltipdown('http://www.jannisutz.de/downloads/Hamburg.jpg')">

        <area shape="rect" coords="374,383,406,412" href="http://www.hannover.de" alt="Hannover" target="new window"
     onmouseover="showMapInfo('Hannover')">

        <area shape="rect" coords="131,627,169,656" href="http://www.köln.de" alt="Köln" onmouseover="showMapInfo('Koeln')" target="new window">
    
        </map>

  </body>
</html>
Ist auch eher jetzt java bezogeno_O oder gibts eine andere idee, wenn man über die area läuft?
 
Zuletzt bearbeitet:
Der Code den du hast ist Quatsch, sowas wie window.event.x gibt es nicht. Ich habe gerade keine Zeit dir das alles neu auf zu ziehen. Wie man etwas an der Position der Maus ausgibst, kannst du dir hier http://codepen.io/LeCub/pen/KVrppP angucken. Wenn du es nicht selber hin bekommst, schreib noch mal, dann schau ich noch mal drüber.
 
Ok Ich habs doch gemacht:D http://codepen.io/LeCub/pen/oxzNPz
Allerdings habe Ich jetzt jQuery eingebunden, damit schneller gehts, das heißt du musst in den <head> deiner Seite einmal
Code:
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.4/jquery.min.js"></script>
einfügen und den restlichen JS- Cde vor das </body> Tag setzen, dann sollte es laufen
 
Werbung:
Also da das Ergebnis nicht so war, wie ich es mir vorgestellt habe, habe ich jetzt eine andere Idee (kann man hier nach ner Zeit die Beiträge nicht mehr bearbeiten?)

Ich habe die Landkarte als Hintergrund genommen und die Bilder(Wappen) positioniert. Meine Idee ist, die Bilder anfangs unsichtbar zu machen und wenn man mit der Maus drüber fährt ist das Bild sichtbar. und die Information wird dazu auch noch angezeigt. Also ohne dass es unsichtbar ist, geht zumindest die funktion "showMapInfo". Die Frage ist: geht das auch, wenn das Bild unsichtbar ist und dann angezeigt wird bzw. geht mein Gedanke überhaupt? Hab zwar schon "gegoogled"und bin auf Themen wie visibility gestoßen nur hab ich nie Erfolg dadurch gehabt. Dann habe ich es mit JS probiert ( function erscheinen()), aber das war auch erfolglos (bei hannover ist ein Beispiel)

Habt ihr noch ein paar Tipps, wie das Funktionieren könnte? Falls es überhaupt geht. Ansonsten muss ich mit der einen Lösung zufrieden sein.

Code:
<!DOCTYPE html>

  <head>

    <meta charset="utf-8">

    <meta name="viewport" content="width=device-width, initial-scale=1.0">

    <title>test</title>


    <style type="text/css">

  html, body {

  background:url("http://www0.xup.in/exec/ximg.php?fid=84604980") no-repeat left top;

height: 1187px;

width: 1000px;

}

            .point_container {
position: absolute;
top: 400px;
left: 1020px;
font-size: 10pt;
color: #111111;
        </style>
</head>

<body>
<div class="point_container"> </div>

<img src="http://aufnaeher4u-shop.de/WebRoot/Store11/Shops/7067a47e-dd31-46e3-bc65-e92615d5830c/5446/73DB/2DCA/E443/E28A/0A48/3539/3489/541432627701_xs.png" id="hh" style="top:220px;left:455px;position:absolute" onmouseover="showMapInfo('hamburg')">

<img src="https://www.paket.net/wp-content/themes/paket/images/hannover-wappen.png" id="hanoi" style="top:400px;left:380px;position:absolute;display:none;" href onmouseover="erscheinen('hanoi');showMapInfo('hannover')">

<script type="text/javascript">

function erscheinen(id) {
document.getElementById(id).style.display = "inline";

function showMapInfo(id) {
var text;
switch (id) {


case "hamburg": text = "<h2>Hamburg</h2> <p>tolle Stadt</p>";
break;
case "Hannover":
text = "<h2>Hannover</h2> <p>96, Hauptstadt Niedersachsens</p>";
break;
}
$('.point_container').html = text;
}
</script>

</body>

</html>
[Code]
[spoiler]
 
Werbung:
Status
Für weitere Antworten geschlossen.
Zurück
Oben