如何从JavaScript访问字典

如何从JavaScript访问字典,javascript,google-maps,google-maps-api-3,Javascript,Google Maps,Google Maps Api 3,我想访问关键值“lat”和“lng”。但是,出现以下错误。 未捕获类型错误:无法读取未定义的值的属性“lat”是具有lat和lng属性的对象,如下所示: $(function() { $.get("https://firststep-2016.appspot.com/Map", function() { var dataSet = [{ "lat": 35.964642464800001, "lng": 127.8646424648 }, {

我想访问关键值“lat”和“lng”。但是,出现以下错误。
未捕获类型错误:无法读取未定义的

值的属性“lat”
是具有
lat
lng
属性的
对象,如下所示:

$(function() {
  $.get("https://firststep-2016.appspot.com/Map", function() {
    var dataSet = [{
      "lat": 35.964642464800001,
      "lng": 127.8646424648
    }, {
      "lat": 36.964642464800001,
      "lng": 127.8546305428
    }, {
      "lat": 36.969020999999998,
      "lng": 127.8694266
    }, {
      "lat": 36.968989999999998,
      "lng": 127.86950950000001
    }, {
      "lat": 34.064642464800002,
      "lng": 122.1646424648
    }, {
      "lat": 36.9685652824,
      "lng": 127.8693936768
    }, {
      "lat": 38.064642464800002,
      "lng": 123.1646424648
    }, {
      "lat": 38.064642464800002,
      "lng": 127.6646424648
    }];

    var option = {
      zoom: 11,
      mapTypeId: google.maps.MapTypeId.ROADMAP,
      position: location
    }
    var map = new google.maps.Map(document.getElementById('map'), option);

    $.each(dataSet, function(i, value) {
      var marker = new google.maps.Marker({
        position: new google.maps.LatLng(value[i]["lat"], value[i]["lng"]),
        map: map,
        draggable: false
      });

    });
  });
});
不需要
值[i][“lat”]

或者(但不必要地)您可以使用
dataSet[i]
(因此使用
dataSet[i][“lat”]
dataSet[i][“lng”]
)访问
value
给定的相同对象。为了清楚起见,我指出了这一点,希望你们能看到发生了什么

最后,
jQuery的
实用程序
$。每个
方法都是不必要的。这里处理的是数组,只需使用
forEach

$.each(dataSet,function(i,value){
    var marker = new google.maps.Marker({
    position: new google.maps.LatLng(value["lat"],value["lng"]),
    map: map,
    draggable: false}); 

});

如果您放置
调试器在您的
$中。每个
值[i]
的值是多少?请务必查看文档并询问您。你的解决方案对我很有用。但我遇到了另外一个问题。Ajax并没有从python接收数据。这是我的python类。类getLatLng(webapp2.RequestHandler):def get(self):db=connect_to_cloudsql()cursor=db.cursor()cursor.execute(“”“从用户处选择纬度、经度;”)dic={}array_list=[]用于cursor.fetchall()中的行:dic['lat']=float(行[0])dic['lng']=float(行[1])array_list.append(dic.copy())latLng=json.json转储(数组列表)db.close()返回latLng@jihyemoon-再问一个问题,我已经回答了这个问题。$.ajax({type:“get”,url:,dataType:“json”,cache:false,success:function(latLng){var map=new google.maps.map(document.getElementById(“map”),{zoom:11,center:latLng[0]});$.each(latLng,function(I,value){new google.maps.Marker({position:value,map:map});});}});它是ajax。
dataSet.forEach(function(latLng) {
   (new google.maps.Marker({
     position:latLng, //see LatLngLiteral (below)
     map:map,
     //draggable is false by default, no need to specify draggable:false
   });
});