从本地主机上的文本文件传递值到google maps api

Passing values in to google maps api from text file on localhost

本文关键字:google api maps 文件 主机 文本      更新时间:2023-09-26

我试图从本地主机上的文本文件中传入初始启动值。

谁能解释一下如何正确地做到这一点?

我一直在尝试遵循教程,但他们都假设文件是从阅读器读取的。

我不太懂javascript。

这行不通

<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>test</title>
<meta name="viewport" content="initial-scale=1.0, user-scalable=no">
<meta charset="utf-8">
<style>
  html, body, #map-canvas {
    height: 100%;
    margin: 0px;
    padding: 0px
  }
</style>
<script>
    function initialize() {
        var lat = 0;
        var long = 0;
        var center = File("Center.txt");
        var reader = new FileReader();
        reader.onload = function (e) {
            var results = reader.result;
        }
        reader.readAsText(center);           
        var text = reader.result.toString();
        var stringAr = text.split(",");
        lat = stringAr[0];
        long = stringAr[1];

        var mapOptions = {
            zoom: 8,
            center: new google.maps.LatLng(lat, long)
        };
        var map = new google.maps.Map(document.getElementById('map-canvas'),
            mapOptions);

        map.data.loadGeoJson('test.json');
    }
    function loadScript() {
        var script = document.createElement('script');
        script.type = 'text/javascript';
        script.src = 'https://maps.googleapis.com/maps/api/js?v=3.exp&sensor=false&' +
            'callback=initialize';
        document.body.appendChild(script);
    }
    window.onload = loadScript;
</script>
</head>
<body>
    <div id="map-canvas"></div>   
</body>
</html>

如果我注释掉所有的文件阅读器的东西,它可以工作,但我需要能够传入较长的参数,而不需要用户选择任何东西。

我是否可以从json文件中读取它们,并以与数据相同的方式设置它?

问题可能是您从文本文件中读取的值被保存为字符串。谷歌地图需要Number对象。你可以简单地使用parseFloat()来解决这个问题:

lat = parseFloat(stringAr[0]);
long = parseFloat(stringAr[1]);