javascript - google.maps.MapOptions + JSON : avoid eval()?

标签 javascript google-maps google-maps-api-3

我正在寻找一个 eval() 替代品..

我生成了一个常用的谷歌地图,API v3:

    // define options
    var mapOptions = {
      zoom: 18,
      center: new google.maps.LatLng(-33.890542, 151.274856),
      mapTypeId: eval(maptype["map"]),
      panControl: true,
      zoomControl: true,
      mapTypeControl: true,
      scaleControl: true
    };

    // create map
    map = new google.maps.Map(document.getElementById('map_test),mapOptions);

这可以正常工作,但我想避免使用 eval()。 maptype 是通过 php 使用 JSON 定义的:

echo 'maptype = '.json_encode($options).';';

是否有 eval 的替代方案?

更新: 完整的源代码:

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Unbenanntes Dokument</title>
<script type='text/javascript' src='http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js'></script>
<script src="https://maps.googleapis.com/maps/api/js?v=3.7&sensor=false&language=de"></script>
</head>

<body>


<script>
maptype = {"map":"google.maps.MapTypeId.SATELLITE"};</script>

<script>
function Map()
{
var mapOptions = {zoom: 18, center: new google.maps.LatLng(-33.890542, 151.274856), mapTypeId: eval(maptype["map"])};

// create map
map = new google.maps.Map(document.getElementById('map'),mapOptions);
}
</script>

<div id="map" style="width:1200px; height:800px"></div>
<script> jQuery(document).ready(function ($) {Map();});</script>

</body>
</html>

结果:没有错误,没有 map ,只有灰色背景。

最佳答案

您应该能够删除围绕它的 eval() 调用并且它应该可以工作,假设 ngggOptions 是一个对象并且具有 map 的键

关于javascript - google.maps.MapOptions + JSON : avoid eval()?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15096560/

相关文章:

javascript - Vue.JS:为什么父元素不会接收事件?父组件必须是自定义组件吗?

jquery - Maps V3 InfoWindow - 禁用关闭 "x"按钮

jquery - MarkerManager 可见标记

google-maps - 谷歌地图如何显示城市或区域轮廓

javascript - 具有相同 id 和 jQuery 的 DOM 元素

javascript - 在 JavaScript 中读取 cookie

javascript - 我可以使用日志记录功能来忽略某些服务器 channel 类别吗?

google-maps - 如何从类 "google.maps.LatLng"的对象中提取纬度和经度值?

android - (Android - Google map )为什么折线会自动生成闭合图形

javascript - 在圈子上添加点击监听器不起作用