Estoy tratando de recuperar datos de la base de datos la cual tiene las coordenadas que me llene allí, y tengo una pequeña página web que muestra un mapa, pero necesito la longitud y la latitud a ser seleccionado de la base de datos antes de verla, por lo que es posible conectar y recuperar datos en el script de java?!

por cierto, aquí está el wepage xml:

    <%@ Page Language="C#" AutoEventWireup="true" CodeFile="Map.aspx.cs" Inherits="Map2" %>

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <title></title>
    <script type="text/javascript" src="http://maps.googleapis.com/maps/api/js?sensor=false"></script>

    <script language="javascript" type="text/javascript">

        //document.write("<?php echo 'hello'; ?>");

//select coordinates from Mysql DB
        var map;
        var geocoder;
        var marker;
        function InitializeMap() {

            var latlng = new google.maps.LatLng(/*fetchedFromDB*/, /*fetchedFromDB*/);
            var myOptions =
            {
                zoom: 17,
                center: latlng,
                mapTypeId: google.maps.MapTypeId.ROADMAP,
                disableDefaultUI: true
            };
            map = new google.maps.Map(document.getElementById("map"), myOptions);
            marker = new google.maps.Marker({ position: new google.maps.LatLng(/*fetchedFromDB*/, /*fetchedFromDB*/), map: map });
        }

        window.onload = InitializeMap;

    </script>
    </head>
    <body style="height: 504px">
    <table>
    <tr>
    </tr>
    <tr>
    <td colspan ="2">
    <div id ="map" style="height: 529px; width: 1011px; margin-top: 0px;" >
    </div>
    </td>
    </tr>
    </table>
    </body>
    </html>
  • Usted no puede interactuar directamente con una base de datos con Javascript. Puede hacerlo a través de algunos de la API, pero no directamente. También, ¿qué pasa con el PHP en C#?
  • Si pones tu mysql credenciales de inicio de sesión en el html como javascript, ¿no significa esto que todo el mundo es capaz de utilizar este tipo de datos y de inicio de sesión para el servidor? Todo el mundo puede leer su código fuente. Todo el mundo podía acceder a su base de datos. usted puede acceder a MySQL usando JavaScript, pero sólo serverside con node.js. Usted puede recuperar los datos con C# m
InformationsquelleAutor Izzo32 | 2013-12-19

3 Comentarios

  1. 8

    Mayoría de las veces la forma es simplemente el uso de AJAX para este tipo de cosas.

    Básicamente necesitas algo de script del lado del servidor que recupera los datos de la base de datos en la solicitud y la devuelve a javascript en algún formato (por ejemplo,JSON). Desde el lado del cliente javascript llamar a este script a través de XMLHttpRequest cuando la página se carga o cuando el usuario hace clic del botón, etc.

    • No hay problema 😉 Así que usted acepta o tengo que aclarar algo más en profundidad?
    • Sí, miré para el xmlHttpRequest, pero supongo que sólo se obtiene 1 valor?! porque solo hay xmlhttp.responseText !, cómo obtener múltiples datos utilizando este?
    • Es sólo un valor para toda la respuesta. Pero, como he mencionado, usted puede empacar varios valores mediante JSON. Puede contener listas, hash, listas de hash, etc. Si usted está utilizando .NET usted puede comprobar fuera de esta biblioteca para mantener las cosas simples.
    • Lo tengo, gracias vbo!, estoy pensando en hacerlo con c# codificación y almacenar los datos recuperados en un oculto de la etiqueta y, a continuación, seleccione en el script.. voy a darle una oportunidad.
    • OK. Buena suerte con eso!
  2. 0

    Usted desea reducir al mínimo la cantidad de área donde dos idiomas de datos de exchange. En la mayoría, poner todo en un solo objeto y convertirlo en un json:

    <?php
      $data = array( 'a' => $a );
    ?>
    var data = <?php echo json_encode($data); ?>;

    A pesar de que la mejor vía es la de escribir una página que no hace nada, pero la salida de datos en JSON, después de leerlo con una llamada AJAX.

    • Hmm, hay una //documento.escribir(«<?php echo ‘hola’; ?>»); en el OP. Yo estaba mirando. De lo contrario, en el mismo punto para C#, sólo tiene que utilizar otro método para codificar a json
    • Gracias @user1389596
  3. 0

    He resuelto de una manera fácil, me puse las coordenadas de la base de datos, a continuación, corrí el script en el código detrás (en el interior del código de c#), como se muestra:

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Web;
    using System.Web.UI;
    using System.Web.UI.WebControls;
    using MySql.Data.MySqlClient;
    public partial class Map : System.Web.UI.Page
    {
    public static string latitude;
    public static string longitude;
    MySqlDataReader dr;
    protected void Page_Load(object sender, EventArgs e)
    {
    using (MySql.Data.MySqlClient.MySqlConnection connection = new MySql.Data.MySqlClient.MySqlConnection("Server=XX;Port=3306;Database=XX;Uid=XX;Pwd=XX"))
    {
    connection.Open();
    MySqlCommand cmd = connection.CreateCommand();
    cmd.CommandText = "SELECT latitude,longitude FROM coordinates";
    dr = cmd.ExecuteReader();
    while (dr.Read())
    {
    latitude = dr[0].ToString();
    longitude = dr[1].ToString();
    }
    connection.Close();
    }
    Response.Write("<script type='text/javascript' src='http://maps.googleapis.com/maps/api/js?sensor=false'></script>");
    Response.Write("<script language='javascript' type='text/javascript'>"
    + "var map;" 
    + "var marker;" 
    + "function InitializeMap() {"
    + "var latlng = new google.maps.LatLng(" + latitude + "," + longitude + ");"
    + "var myOptions ="
    + "{ zoom: 17, center: latlng,mapTypeId: google.maps.MapTypeId.ROADMAP,disableDefaultUI: true};"
    + "map = new google.maps.Map(document.getElementById('map'), myOptions);"
    + "marker = new google.maps.Marker({ position: new google.maps.LatLng(" + latitude + ", " + longitude + "), map: map }); }"
    + "window.onload = InitializeMap;"
    + "</script>");
    }
    }

Dejar respuesta

Please enter your comment!
Please enter your name here