JavaScript – die besten Beiträge

CSS / JavaScript: Hilfe bei Leaflet-Integration?

Hallo Leute,

ich brauche Hilfe bei dieser Arbeit.

1. Es sollen zwei Karten nebeneinander sein. Jedoch soll die rechte Karte eine Here-Map sein. Wie baue ich das in den Code ein (siehe unten)?

Sie müssen http://ivansanchez.gitlab.io/Leaflet.TileLayer.HERE/leaflet-tilelayer-here.js in einem <script>-Tag laden. Danach müsste es mit sowas hier gehen:
L.tileLayer.here({
  appId: 'ViVS62MmsdTJSzwXMlHb',
  appCode: 'bsODmSCzkVqEMR8TnGPHdw'
}).addTo(map);
Statt addTo(map) kommt natürlich der Name Ihrer rechten Karte hin.
appId und appCode sind hier aus dem Beispiel von Ivan Sanchez http://ivansanchez.gitlab.io/Leaflet.TileLayer.HERE/demo.html

________________

2. Außerdem soll die zweite Karte sozusagen synchron/parallel mit der linken Karte verlaufen:

Sie müssen, wenn der Benutzer in der linken Karte zoomt oder sie verschiebt, die rechte Karte aktualisieren. Dazu müssen Sie eine Funktion schreiben, die aufgerufen wird, wenn auf der linken Karte das "zoomend" oder "moveend"-Ereignis auftritt.
Also etwa
map1.on("zoomend", meine_funktion);
und dann in der meine_funktion können Sie auf der rechten Karte "setBounds" aufrufen, um die rechte Karte zu verschieben/zu zoomen. Das "setBounds" muss dabei den aktuellen Ausschnitt der linken Karte übergeben bekommen (getBounds).

_________________________________________________

<html>
  <head>
    <link rel="stylesheet" href="https: //unpkg.com/leaflet@1.4.0/dist/leaflet.css"></link>
    <script src="https: //unpkg.com/leaflet@1.4.0/dist/leaflet.js"></script>
    <script src="http: //unpkg.com/leaflet@1.3.1/dist/leaflet.js"></script>
    <script>
      function initMaps() {
        map = new L.map('meine_map');
        L.tileLayer('https: //{s}.tile.openstreetmap.org/{z}/{x}/{y}.png').addTo(map);
        let karlsruhe = new L.LatLng(49, 8.4);
        map.setView(karlsruhe, 12);
        map1 = new L.map('meine_map1');
        L.tileLayer('http: //{s}.basemaps.cartocdn.com/light_all/{z}/{x}/{y}.png').addTo(map1);
        map1.setView(karlsruhe, 12);

        document.getElementById("suchen").addEventListener("click", suchen);
      }

      async function suchen() {
        let url = new URL('https: //nominatim.openstreetmap.org/search');
        url.searchParams.append('format', 'json');
        url.searchParams.append('q', document.getElementById("ort").value);

        let response = await fetch(url);
        let json = await response.json();
        let box = json[0].boundingbox;

        map.fitBounds([ [ box[0],box[2] ], [ box[1],box[3] ] ]);
        map1.fitBounds([ [ box[0],box[2] ], [ box[1],box[3] ] ]);
      }
    </script>
  </head>
  <body onLoad="initMaps()">
    <div id="meine_map" style="height: 360px; width: 360px;"></div>
    <div id="meine_map1" style="position: absolute; top: 9px; left: 375px; height: 360px; width: 360px;"></div>
    <input type="text" id="ort">
    <button id="suchen">Suchen</button>
  </body>

Anmerkung: Damit der GF-Editor die URLs nicht verfälscht, wurde im Protokoll stets ein Leerzeichen hinzugefügt.

Ich danke euch für die Hilfe im Voraus!

LG

HTML, programmieren, CSS, Java, JavaScript, Informatik, Informatiker

Taschenrechnr mit Typescript erstellen?

Hallo, wir sollten für unseren Kurs einen Taschenrechner auf unserer Webseite erstellen. Diese sollte erst + - * und / errechnen können. Dies habe ich so gemacht:

<form name="Rechner">
 <table border="10" cellpadding="10" bgcolor="#E0E0E0">
   <tr>
     <td bgcolor="#C0C0C0"><input name="Display" size="30" maxlength="30"></td>
   </tr>
   <tr>
     <td>
  <table>
       <tr>
         <td width="50"><input type="button" value="  7  " onclick="Hinzufuegen('7')"></td>
         <td width="50"><input type="button" value="  8  " onclick="Hinzufuegen('8')"></td>
         <td width="70"><input type="button" value="  9  " onclick="Hinzufuegen('9')"></td>
         <td width="50"><input type="button" value="  +   " onclick="Hinzufuegen('+')"></td>
       </tr>
       <tr>
         <td width="50"><input type="button" value="  4  " onclick="Hinzufuegen('4')"></td>
         <td width="50"><input type="button" value="  5  " onclick="Hinzufuegen('5')"></td>
         <td width="70"><input type="button" value="  6  " onclick="Hinzufuegen('6')"></td>
         <td width="50"><input type="button" value="   -   " onclick="Hinzufuegen('-')"></td>
       </tr>
       <tr>
         <td width="50"><input type="button" value="  1  " onclick="Hinzufuegen('1')"></td>
         <td width="50"><input type="button" value="  2  " onclick="Hinzufuegen('2')"></td>
         <td width="70"><input type="button" value="  3  " onclick="Hinzufuegen('3')"></td>
         <td width="50"><input type="button" value="      " onclick="Hinzufuegen('')"></td>
       </tr>
       <tr>
         <td width="50"><input type="button" value="   =   " onclick="Ergebnis()"></td>
         <td width="50"><input type="button" value="  0  " onclick="Hinzufuegen('0')"></td>
         <td width="70"><input type="button" value="  .   " onclick="Hinzufuegen('.')"></td>
         <td width="50"><input type="button" value="   /   " onclick="Hinzufuegen('/')"></td>
       </tr>
       <tr>
         <td width="50"><input type="button" value="Wurzel " onclick="Sonderfunktion('sqrt')"></td>
         <td width="50"><input type="button" value=" pow " onclick="Sonderfunktion('pow')"></td>
         <td width="70"><input type="button" value=" log " onclick="Sonderfunktion('log')"></td>
         <td width="50"><input type="reset" value="  C  "></td>
       </tr>
       <tr>
     </table>
     </td>
   </tr>
 </table>
</form>

Jetzt sollen wir den Taschenrechner erweitern und Flächeninhalt; Umfang(Rechteck),Potenzieren,Fakultät, Modulo und Dezimal Dual hinzufügen.

Die Buttons kann ich erstellen, aber wie erstelle ich die dazugehörige scripts? Ich hoffe jemand kann mir helfen. :(

HTML, IT, Webseite, programmieren, JavaScript, Taschenrechner, TypeScript

Node.js/Express - req.body funktioniert nicht?

Ich möchte in meiner app.js-Datei Werte aus meiner HTML-Datei benutzen. In meiner HTML-Datei ist ein TextFeld namens "search". Dazu will ich in app.js

var searchText = req.body.search

verwenden, um den Wert des Feldes zu bekommen. Das klappt aber nicht!

Hier mein app.js-Code:

var express = require("express");
var pg = require("pg");
var bodyParser = require("body-parser");
var CON_STRING = process.env.DB_CON_STRING;

if (CON_STRING == undefined) {
  console.log("Error: Environment variable DB_CON_STRING not set!");
  process.exit(1);
}

pg.defaults.ssl = true;
var dbClient = new pg.Client(CON_STRING);
dbClient.connect();

var urlencodedParser = bodyParser.urlencoded({ extended: false });
const PORT = 80;

var app = express();
app.set("views", "views");
app.set("view engine", "pug");
app.get("/search", urlencodedParser, function (req, res) {
  var searchText = req.body.source;
  console.log(searchText); //HIER IST DER FEHLER: Es spuckt "undefined" aus!

  dbClient.query("SELECT * FROM book LIMIT 50 ", function (dbError, dbItemsResponse) {
    res.render("index", {
      BookList: dbItemsResponse.rows
    });
  });
});
app.listen(PORT, function () {
  console.log(App listening on Port ${PORT});
});

Das

console.log(searchText)

gibt mir immer undefined zurück. Wenn ich in der HTML-Datei über ein Script den Wert vom Textfeld ausgebe, dann ist der das, was da drinnen steht. Nur mit req.body scheine ich nicht darauf zugreifen zu können. Ich bekomme immer undefined.

Was mache ich falsch? Wie kann ich es beheben? Hat jemand eine Idee?

Computer, Technik, Programm, HTML, JavaScript, Express, Technologie, Parsen, node.js, Spiele und Gaming

HTML|JS|CSS - Hinter dem DIV den Hintergrund unschärfen?

Hallo,

ich möchte gerne die restliche Seite unscharf haben, wenn mein DIV-Formular offen ist. Wenn ich mein DIV aber schließe "Abbrechen", ist die ganze Seite weg. Ich vermute mal das es mit dem anzeigen und verstecken vom "overlay" DIV zusammenhängt, welcher auch die Unschärfe rein bringt.

HTML Part:

<html>
<header>
    <link rel="stylesheet" href="css/style.css">
    <script language="javascript" type="text/javascript" src="js/script.js"></script>
    <script type="text/javashttps://ajax.googleapis.com/ajax/libs/jquery/1.3.0/jquery.min.jsquery.min.js"></script>
</header>

<body onload="startTime()"> <div id="overlay">

<div class="bsr"> <b> Besprechungsraum: </b> RR </div> <br>

<!-- --> <div id="ajaxdiv"> </div> <!-- -->

<br><br>

<div align="center" id="reservierungdiv"> <a href="#" class="btn_reservierung" onclick="openForm()">Reservierung</a> </div>

<?php include "connect/users.php"; ?>

</div> </body> </html>

CSS Part:

body {
    background-color: whitesmoke;
    /overflow: hidden;/
    z-index: 0;
}
#overlay{
    /display: none;/
    width: 100%;
    height: 100%;
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    opacity: .5;
    z-index: 3;
    filter: blur(2px);
    visibility: hidden;
}

JS Part:

function openForm() {
    document.getElementById("myForm").style.display = "block";
    document.getElementById("overlay").style.display = "block"; <---
    startTimer();
}

function hideDiv() {
    document.getElementById('myForm2').reset();
    //$("#client")[0].reset();
    document.getElementById('myForm').style.display = 'none';
    document.getElementById("overlay").style.display = "none"; <---
}

Computer, HTML, programmieren, CSS, JavaScript, Webentwicklung

Meistgelesene Beiträge zum Thema JavaScript