使用Google Maps API存储定位器而没有数据库?

时间:2012-03-22 21:49:59

标签: javascript google-maps google-maps-api-3

在没有使用数据库的情况下,是否存在使用Google API v3的商店定位器的示例?我可以通过Google找到的所有教程都与v2(谷歌称已弃用),php(我们正在使用python)和mySQL(我们使用的是SQLite)相关。

我之前从未做过商店定位器,但我认为Google会设置它以便您可以列出地址,并且Google会将这些代码段清除,以便您粘贴到您的网站上。我知道太天真了。

我已经让地图正常工作但我无法弄清楚如何添加位置,显示它们,或者允许用户输入拉链并找到附近的位置。现在我们只有三个位置,所以我希望找到一个放弃数据库部分的解决方案,让我直接在Google js中指定这些纬度/经度。我不介意它在pageload上加载所有三个位置。

因此,如果您知道直接在Google v3代码段中指定位置的方法,请告诉我们。如果您知道如何显示带有这些商店详细信息的侧边栏以及输入拉链的位置,请分享一下,我会非常感激。

感谢。

3 个答案:

答案 0 :(得分:1)

看看Fusion Tables。它是完成你想要的理想方式。

http://www.google.com/fusiontables/Home/

答案 1 :(得分:0)

我已经建了大约15-20个...但是你的问题有很多。你需要打破任务。

简而言之:检查一下这个来源: https://google-developers.appspot.com/maps/documentation/javascript/examples/infowindow-simple

找到他们插入标记的地方,并从那里开始工作......这就是我开始的方式,你可以准备好基本地图......好吧,很短的时间。

答案 2 :(得分:0)

以下内容应该适用于v3,将地图置于用户lat / lng中心,并在商店位置绘制标记:

                  var node_marker_image = new google.maps.MarkerImage('PATH_TO_YOUR_CUSTOM_MARKER_IMAGE',
                            new google.maps.Size(15, 26),
                            new google.maps.Point(0, 0),
                            new google.maps.Point(8, 26)
                  ); // adjust point parameters as needed

                  var shadow = new google.maps.MarkerImage('PATH_TO_YOUR_CUSTOM_MARKER_SHADOW',
                            new google.maps.Size(22, 26),
                            new google.maps.Point(0, 0),
                            new google.maps.Point(2, 26)
                  ); // adjust as needed

                  var user_position = new google.maps.LatLng(USERLAT, USERLNG);
                  var myOptions = {
                        zoom: 8,
                        center: user_position,
                        mapTypeId: google.maps.MapTypeId.ROADMAP
                  };

                  var map = new google.maps.Map(document.getElementById('mapCanvas'), myOptions);

                  var store_marker = new google.maps.Marker({
                                    position: new google.maps.LatLng(YOURLAT, YOURLNG),
                                    map: map,
                                    icon: node_marker_image, 
                                    shadow: shadow
                  });

如果您不想使用数据库,可以使用JSON字符串来表示商店位置,并将其解析为某种位置对象。至于“最近的”商店功能 - 请告诉您如何关联邮政编码。 Zipcodes可能非常复杂,通常不会遵循您认为合理的地理边界。美国人口普查数据可以成为拉链信息的良好来源。听起来您的要求非常简单,因此您可以为查询表中可能需要担心的每个zip分配一个中心地理位置(或者,再次,JSON字符串)。然后,您可以使用google.maps.geometry.spherical.computeDistanceBetween()方法计算感兴趣的邮政编码中心与商店位置之间的距离。