vue.js 对Gmap元素使用disableDefaultUI属性

qoefvg9y  于 2023-02-09  发布在  Vue.js
关注(0)|答案(1)|浏览(144)

我正在使用Vue 2和TypeScript,我试图禁用<gmap-map>上显示的默认控件,我认为在使用JSX/TSX时语法不同。我尝试了我能想到的所有方法,但无法让disableDefaultUI属性更改任何内容。这并不是给我一个错误,只是它什么也没有更改。
这是我一直在努力找到工作的主要原因,因为这是在任何其他情况下工作的方式:

<gmap-map
 center={this.center}
 zoom={12}
 onClick={this.onMapClickHandler}
 class={styles.setup__map}
 disableDefaultUI = {'true'}
>

我试过使用&而不使用花括号,甚至试过禁用带有单独名称的控件,如mapTypeControl = 'false'等。
或者,当我尝试将其添加到选项块(如下所示)时,它无法识别内部的disableDefaultUI属性,并给出错误。

<gmap-map
 center={this.center}
 zoom={12}
 onClick={this.onMapClickHandler}
 class={styles.setup__map}
 options = {
    disableDefaultUI = {'false'}
  }
>

我也尝试过在main render()之外单独声明一个布尔值,但正如预期的那样,得到了相同的结果。
我在一个非常大的共享存储库中,我不知道这些属性是否在任何地方列出,在搜索它时,除了在一个单独的.js文件中,它没有列出。其他已知的<gmap-map>属性,如zoom={}center={},工作得非常好。
这是单独的.js文件中的内容

$googleMap.each(function () {
  var mapHeight = $(this).data('height'),
  address = $(this).data('address'),
  zoom = $(this).data('zoom'),
  controls = $(this).data('disable-controls'),

[...]

$(this).gmap3({
    map: {
         options: {
         zoom: zoom,
         disableDefaultUI: controls,
         scrollwheel: scrollwheel,
         styles: styles
       }
  }

我遗漏了什么吗?是语法问题吗?或者我应该做一个单独的函数来禁用默认UI时,它的TSX?
任何帮助都很感激,谢谢。

l5tcr1uw

l5tcr1uw1#

回答我的问题以防有人需要:我没有找到一个解决方案-这是TSX可能成为一个痛苦的时候之一-,但找到了一个变通方法。将此添加到Global.scss文件中可以达到目的:

.vue-map-container {
  .vue-map {
    height: 100%;
  }
  .gm-control-active {
    display: none;
  }
  .gm-svpc {
    display: none;
  }
  .gmnoprint {
    display: none;
  }
}

相关问题