小编Her*_*erb的帖子

InvalidStateError:"在基本的Google Map教程示例中尝试使用不可用或不再可用的对象"

我有一个XML,它通过XSLT转换为HTML.XML能够包含JavaScript,并且它可以正确地将其转换为HTML,就像我在许多其他页面中一样.它只是不适用于GoogleMaps,我怀疑,我的JavaScript在某处出错了.

生成的HTML的相关部分看起来如下所示.

HTML /脚本中发生了什么:

  • API从googleapis.com加载
  • 创建具有ID map_canvas的div.
  • 定义了一个函数start(),它是通过启动的<body onload="start();">.
  • 在此函数中,创建变量map_canvas并将引用传递给名为map_canvas的div对象.
  • 为了控制,这一步有效,我给div新的背景颜色为红色.
  • 有用.
  • 接下来,我想创建变量var_options并为center,zoom和mapTypeId设置初始值.
  • 为了控制,这一步有效,我给div新的背景颜色为蓝色.
  • 这不起作用,它保持红色.
  • 因此,该指令未被执行.
  • 所以我检查一下是否可以访问该对象google.maps.
  • 如果是这样,我给div新的背景颜色为绿色.
  • 这有效,所以我可以访问这个对象.
  • 交叉检查:如果我注释掉加载API的语句,颜色不会改变.

对我来说,这看起来像以下是错误的某个地方.

    var map_options = {
        center: new google.maps.LatLng(44.54, -78.54),
        zoom: 8,
        mapTypeId: google.maps.MapTypeId.ROADMAP
    }
Run Code Online (Sandbox Code Playgroud)

但几个小时后,我仍然无法弄清楚它是什么.

<html>
    <head>
        ...
        <script src="http://maps.googleapis.com/maps/api/js?sensor=false" type="text/javascript">
        </script>

        <script type="text/javascript">
        function start()
        {   
            var map_canvas = document.getElementById('map_canvas');

// If the element can be located, we make it green. Checked.
// If we give the function another name than start, it won't be …
Run Code Online (Sandbox Code Playgroud)

html javascript firefox google-maps

8
推荐指数
2
解决办法
4万
查看次数

从字节数组中提取的高效位字段被解释为比特流,可能使用英特尔的BMI Set 1

为了从被解释为比特流的字节数组中提取位字段,我的目标是设备一个有效的位字段提取功能,针对Intel的现代CPU(理想情况下使用新的BEXTR指令)和MS Visual Studio 2017(I在VB.NET中开发.

Inputs: Bitstream left to right (MSB first)
        Pos=0...7, Len=1...8
Output: bitfield at Pos in length Len (LSB right-aligned)
Run Code Online (Sandbox Code Playgroud)

作为Pos=0...7Len=3(掩盖省略)的示例:

Byte0    Byte1    Shifts       
01234567 01234567 
xxx               >> 5
 xxx              >> 4
  xxx             >> 3
   xxx            >> 2
    xxx           >> 1
     xxx          n/a
      xx x        << 1 | >> 7
       x xx       << 2 | >> 6
Run Code Online (Sandbox Code Playgroud)

从示例中,伪代码中可能天真的实现将是:

Extract(Pos, Len, ByteAddr):=
    if 8-Pos-Len > 0
        Res:=[ByteAddr+0] >> 8-Pos-Len
        Res:=Res & …
Run Code Online (Sandbox Code Playgroud)

vb.net algorithm bit-manipulation intel

5
推荐指数
0
解决办法
145
查看次数