我如何从MySQL数据库获取坐标和Google Maps api上的图钉标记

编程入门 行业动态 更新时间:2024-10-09 00:52:32

我如何从MySQL数据库获取坐标和Google Maps api上的<a href=https://www.elefans.com/category/jswz/34/1764378.html style=图钉标记"/>

我如何从MySQL数据库获取坐标和Google Maps api上的图钉标记

这是我的代码,我可以从数据库console.log记录coords,但是我无法将标记固定在index.html页面上,为什么?。是否有可能将“ markers”数组返回给initMap函数并从那里使用它,因为如果我在initMap函数中使用了一些示例数组,它将成功地将标记固定在地图上。但是我从来没有设法将这些标记与从MySQL数据库获得的坐标固定在一起。请帮助

var express = require('express');
var mysql = require('mysql');
var app = express();
var markers=[];
var coords;


var connnection = mysql.createConnection({
  host: "localhost",
  user: "root",
  password: "",
  database: "sampleDB"
});

connnection.connect(function(error) {
  if (!!error){
      console.log('Error');
    }
    else{
      console.log('Connected');
    }
});


app.get('/', function(req, resp){
  //about mysql
  connnection.query("SELECT * FROM mySampleCoords", function (error, rows, fields) {
    if (!!error){
      console.log('Error in the query');
    }
    else{
      console.log("SUCCESS");
      //console.log(rows[0]);
      rows.forEach(function(entry, index) {
      var coordonate = {
        coords:{lat:entry.lat, lng:entry.lng}
      }
      markers.push(coordonate);

      });

      console.log(markers);

      //for(var i=0;i<markers.length;i++){
        //console.log(i, markers[i]);}


      /*
        for(var i = 0;i < markers.length;i++){
          // Add marker
          addMarker(markers[i]);
        }

        // Add Marker Function

        function addMarker(props){
          var marker = new google.maps.Marker({
            position:props.coords,
            map:map,
            //icon:props.iconImage
          });

          // Check for customicon
          if(props.iconImage){
            // Set icon image
            marker.setIcon(props.iconImage);
          }

          // Check content
          if(props.content){
            var infoWindow = new google.maps.InfoWindow({
              content:props.content
            });

            marker.addListener('click', function(){
              infoWindow.open(map, marker);
            });
          }
        }

        //end of fct addMarker
        */
      //console.log(markers);
      //console.log(markers.length);
      resp.send(markers);
    }//else
  });//conn.query
}) //app.get
  app.listen(1337);


//------------------------------------------------------------------------------


function initMap(){
      // Map options
      var options = {
        zoom:2.35,
        center:{lat:45.2890,lng:21.8877}

      }

      // New map
      var map = new google.maps.Map(document.getElementById('map'), options);
      var heatmap = new google.maps.visualization.HeatmapLayer({
        data: getPoints(),
        radius: 20,
        map: map
      });
      console.log("mesan din initMap");



      for(var i = 0;i < markers.length;i++){
        // Add marker
        addMarker(markers[i]);
      }

      // Add Marker Function

      function addMarker(props){
        var marker = new google.maps.Marker({
          position:props.coords,
          map:map,
          //icon:props.iconImage
        });

        // Check for customicon
        if(props.iconImage){
          // Set icon image
          marker.setIcon(props.iconImage);
        }

        // Check content
        if(props.content){
          var infoWindow = new google.maps.InfoWindow({
            content:props.content
          });

          marker.addListener('click', function(){
            infoWindow.open(map, marker);
          });
        }
      } //end of fct addMarker


    }
回答如下:

您发送的坐标格式错误。您应该更改此

      var coordonate = {
        coords:{lat:entry.lat, lng:entry.lng}
      }

对此

    var coordonate = new google.maps.LatLng(entry.lat, entry.lng);

您需要调用initMap这样的东西

<script src="https://maps.googleapis/maps/api/js?key=[YOURKEY]&libraries=places&callback=initMap"
        async defer></script>

更多推荐

我如何从MySQL数据库获取坐标和Google Maps api上的图钉标记

本文发布于:2024-05-07 15:45:35,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1756984.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:图钉   坐标   标记   数据库   MySQL

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!