Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/google-maps/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 随机出现的标记_Javascript_Google Maps - Fatal编程技术网

Javascript 随机出现的标记

Javascript 随机出现的标记,javascript,google-maps,Javascript,Google Maps,我正在尝试创建一个带有3个不同标记的地图,但目前每个标记都是随机出现的。我认为这是异步性的问题 测试url位于此处,地图显示在页面底部: 有人知道我做错了什么吗 谢谢, Alex你的意思是你看到你的标记在不同的时间绘制,例如,开始时你看到红色的,然后是黄色的,然后是蓝色的。下次加载页面时,您可能会注意到首先显示蓝色标记,然后是黄色标记,然后是红色标记。我理解你的问题了吗?如果是,则不关心:)这取决于网络连接、服务器加载等。例如,查看FireBug的“网络”选项卡,我第一次得到: 因此,浏览器

我正在尝试创建一个带有3个不同标记的地图,但目前每个标记都是随机出现的。我认为这是异步性的问题

测试url位于此处,地图显示在页面底部:

有人知道我做错了什么吗

谢谢,
Alex

你的意思是你看到你的标记在不同的时间绘制,例如,开始时你看到红色的,然后是黄色的,然后是蓝色的。下次加载页面时,您可能会注意到首先显示蓝色标记,然后是黄色标记,然后是红色标记。我理解你的问题了吗?如果是,则不关心:)这取决于网络连接、服务器加载等。例如,查看FireBug的“网络”选项卡,我第一次得到:

因此,浏览器开始同时请求smile.gif和car.jpg,在请求marker_sprite一段时间后。事实上,您看到maps.google.com更快地满足了请求(尽管请求启动得晚)。然后你的服务器(comehike.com)处理了car.jpg的请求(虽然它是一个大的,1.3kb),然后是smile.gif(虽然它的大小只有174b,是第一个请求的图像)

下次我按F5键并从浏览器缓存中获取图像时,浏览器会发送一些请求,以查看它们是否真的没有更改:

请注意,浏览器很早就开始请求有关car.jpg的信息,但由于连接时间和等待结果,需要花费大量时间才能获得它(尽管它是缓存的,所以浏览器只是等待确认)。同样,maps.google.com处理请求的速度也比comehike.com快

所以这与ajax无关,它取决于浏览器何时请求图像,以及服务器处理图像的速度(这取决于它的队列等)

如果希望同时显示所有标记,则需要使用CSS精灵并将所有标记图像合并到一个标记中。看看那里(任何文章都不错):


  • 这样,您将拥有一个图像而不是三个图像,因此当加载该图像时,浏览器将显示所有标记(至少您不会注意到标记绘制之间存在任何延迟)。希望它能解释和帮助您。

    标记显示有什么问题?对我来说,它们都是同时出现的。我看到了笑脸、红色记号笔和蓝色汽车。我正在运行Firefox 3.6.13,和Rachel说的一样——它们在Mac上的Chrome浏览器中看起来不错。你用的是什么浏览器?