【问题标题】:Map markers become inaccurate when past accumulation of 10 properties过去累积 10 个属性时,地图标记变得不准确
【发布时间】:2014-07-03 00:41:44
【问题描述】:

出于不同的目的,我创建了一个有趣的地图应用程序,其中包含侧边栏信息。

但是,我今天注意到,每次我从这个存储库中经过 10 个小公园时: http://mick.github.io/jekyllmap/ 或 (https://github.com/mick/jekyllmap),它开始变得有点不稳定。

我在 assets/js 中的 mapping.js 中四处寻找,看看问题可能出在哪里。

我不知道它是从哪里来的。

我的应用程序中的标记,当超过 10 个小公园时,标记卡住,不改变颜色,或指向错误的信息。

关于如何让这对大约 26 个属性起作用的任何建议?

谢谢!

ps.澄清一下,上面的链接不是我的github账号。认为链接到我从中分叉的原始帐户会更简单。

【问题讨论】:

    标签: javascript jquery map jekyll leaflet


    【解决方案1】:

    mapping.js 第 7 行

    var point = parseInt($(this).attr('data-target').substr(1));
    

    var point = parseInt($(this).attr('data-target').substring(1));
    

    而不是

    var point = parseInt($(this).attr('data-target').substr(1,1));
    

    编辑:

    抱歉,无需使用 substring 代替 substr。只需删除第二个参数。

    正如substr doc 中所说:str.substr(start[, length])

    如果设置第二个参数.substr(1,1) 字符串返回来自字符 1(字符串中的第二个,因为索引从 0 开始),长度为 1。 对于 #1#10#11 .substr(1,1) 返回 1

    如果你不传递第二个参数 .substr(1) 你会得到从字符串 [0] 到字符串末尾的原始字符串。

    • 对于 #1,.substr(1) 返回 1
    • 对于 #100 .substr(1) 返回 100
    • 对于 #19298298928 .substr(1) 返回 19298298928

    如果你好奇difference between substr and substring is here

    【讨论】:

    • 谢谢!欣赏它。希望你不介意我要求你解释原来的返回是什么,以及你是如何理解如何改变它的?无需解释,只是问,因为我想了解如何修改任何未来的东西。
    • 你好米克,我已经编辑了我的答案来解释错误的原因。
    • 谢谢!澄清一下,我不是米克。我只是链接到我从其分叉的原始 github 帐户,因为我知道问题源于它。
    • 所以,总结一下你的答案,通过设置第二个参数的行为,它搞砸了数字? #19298298928 会变成 #19298298921 吗?你说的是这个吗?
    • 否 #19298298928.substr(1,1) = 1 同 #1.substr(1,1) = 1
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-07-22
    • 1970-01-01
    • 1970-01-01
    • 2023-04-11
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多