Google 地图 API 使用 Coffeescript 预定义的标记图标

Google Maps API predefined marker icon with Coffeescript

对于这个相当简单的问题深表歉意....我对 coffeescript 和 Google Maps API.

都很陌生

我正在尝试使用 coffeescript 在 this 示例中复制标记的圆圈符号,但我在 icon 语句的语法上遇到困难。

谁能告诉我如何在 coffeescript 中编写以下代码,特别是图标部分?

    var marker = new google.maps.Marker({
      position: map.getCenter(),
      icon: {
        path: google.maps.SymbolPath.CIRCLE,
        scale: 10
      }
    })

您可以删除 var 并完成它:

marker = new google.maps.Marker({
  position: map.getCenter(),
  icon: {
    path: google.maps.SymbolPath.CIRCLE,
    scale: 10
  }
})

函数调用括号和对象大括号在 CoffeeScript 中通常是可选的,但如果代码对您来说更清晰,您仍然可以包含它们。

或者您可以删除可选的逗号、圆括号和大括号:

marker = new google.maps.Marker
  position: map.getCenter()
  icon:
    path: google.maps.SymbolPath.CIRCLE
    scale: 10

请注意 map.getCenter 调用中的括号 不是 可选的,因为调用该函数时不带任何参数。

或者你可以说:

marker = new google.maps.Marker(
  position: map.getCenter()
  icon:
    path: google.maps.SymbolPath.CIRCLE
    scale: 10
)

让嵌套更清晰一点。这可能是我会用的那个。如果有更多嵌套,那么我可能会开始添加大括号以使结构更清晰或将其分解成多个部分:

icon =
  path: google.maps.SymbolPath.CIRCLE
  scale: 10
marker = new google.maps.Marker(
  position: map.getCenter()
  icon: icon
)