j查询存储定位器标记
jQuery store locator markers
我是jQuery的新手,一直在玩jQuery存储定位器插件。
我想做的是,将标记从字母标记更改为带有黑点的普通标记。我试过这样做,但不断出现语法错误或根本没有出现任何内容。
我尝试做的另一件事是在屏幕上显示多个商店定位器或显示多个XML文件。这可能吗?我已经尝试过,但一无所获。
最后,我想知道我是否可以让多个 XML 文件工作?是否可以说 4 个主要标记,然后当用户按下五金店的红色标记时,地图将只显示所有五金店,或者他/她按下一个蓝色标记,他/她只是得到杂货店?
我希望这是有道理的,如果这个问题像以前问过的那样,我感到非常抱歉。我找不到任何关于它的信息。
很抱歉延迟回复
jquery.storelocator.js
这是我在编辑时遇到问题的代码。每次我尝试更改 var pinImage 行时,我都会收到语法错误
//Custom marker function - aplhabetical
function createMarker(point, letter, pinColor) {
//Set up pin icon with the Google Charts API for all of our markers
var pinImage = new google.maps.MarkerImage("http://chart.apis.google.com/chart?chst=d_map_pin_letter&chld=" + letter + "|" + pinColor + "|" + settings.pinTextColor,
new google.maps.Size(21, 34),
new google.maps.Point(0, 0),
new google.maps.Point(10, 34));
var pinShadow = new google.maps.MarkerImage("http://chart.apis.google.com/chart?chst=d_map_pin_shadow",
new google.maps.Size(40, 37),
new google.maps.Point(0, 0),
new google.maps.Point(12, 35));
//Create the markers
return new google.maps.Marker({
position: point,
map: map,
icon: pinImage,
shadow: pinShadow,
draggable: false
上述代码的编辑版本
//Custom marker function - aplhabetical
function createMarker(point, letter, pinColor) {
//Set up pin icon with the Google Charts API for all of our markers
var pinImage = new google.maps.MarkerImage("http://chart.apis.google.com/chart?chst=d_map_pin_icon&chld=" + location + "|" + pinColor + "|" + settings.pinTextColor,
new google.maps.Size(21, 34),
new google.maps.Point(0, 0),
new google.maps.Point(10, 34));
var pinShadow = new google.maps.MarkerImage("http://chart.apis.google.com/chart?chst=d_map_pin_shadow",
new google.maps.Size(40, 37),
new google.maps.Point(0, 0),
new google.maps.Point(12, 35));
//Create the markers
return new google.maps.Marker({
position: point,
map: map,
icon: pinImage,
shadow: pinShadow,
draggable: false
感谢您对标记位的帮助。
是的,我为每个商店使用单个 xmls,这是我为每个 xml 使用的代码
鳟鱼.xml
<?xml version="1.0" encoding="UTF-8"?>
<kml xmlns="http://earth.google.com/kml/2.2">
<Document>
<name>trout</name>
<description><![CDATA[Trout fishing (plain text version)]]></description>
<Placemark>
<name>some trout place - burnley</name>
<Snippet>some trout place in burnley </Snippet>
<description><![CDATA[<div dir="ltr">trout place 1 - burnley<br>some street<br>bb12 3ab<br>01234 567890</div>]]></description>
<Point>
<coordinates>-2.104521,57.145737,0.000000</coordinates>
</Point>
</Placemark>
<Placemark>
<name>Nelson</name>
<Snippet>Some trout place nelson</Snippet>
<description><![CDATA[<div dir="ltr">Some trout place nelson1 <br>some street<br>Nelson<br>Bb12 3ac<br>01234 567890</div>]]></description>
<Point>
<coordinates>-5.962432,54.570358,0.000000</coordinates>
</Point>
三文鱼.xml
<?xml version="1.0" encoding="UTF-8"?>
<kml xmlns="http://earth.google.com/kml/2.2">
<Document>
<name>Salmon</name>
<description><![CDATA[salmon fishing in the uk (plain text version)]]></description>
<Placemark>
<name>Burnley</name>
<Snippet>Salmon fishing place1 goes here</Snippet>
<description><![CDATA[<div dir="ltr">Salmon Fishing Place - Burnley<br>Some Street<br>Burnley<br>bb12 3ab<br>01234 567890</div>]]></description>
<Point>
<coordinates>-2.2450,53.7877,0.000000</coordinates>
</Point>
</Placemark>
<Placemark>
<name>Nelson</name>
<Snippet>Salmon fishing place2 goes herei</Snippet>
<description><![CDATA[<div dir="ltr">Salmon Fishing place2 - Nelson<br>Some Street<br>Nelson<br>BB12 3ac<br>01234 567890</div>]]></description>
<Point>
<coordinates>-5.962432,54.570358,0.000000</coordinates>
</Point>
</Placemark>
这是我放置文件的地方
Jquery.storelocator.js
(function ($) {
$.fn.storeLocator = function (options) {
var settings = $.extend({
'mapDiv': 'map',
'listDiv': 'list',
'formID': 'user-location',
'pinColor': 'fe7569',
'startPinColor': '66bd4a',
'pinTextColor': '000000',
'storeLimit': 10,
'distanceAlert': 60,
'xmlLocation': 'data/trout.xml',
'xmlLocation': 'data/salmon.xml',
'addressErrorMsg': 'Please enter valid UK address address or postcode',
'googleDistanceMatrixDestinationLimit': 25,
'defaultLat': 52.3038165,
'defaultLng': -1.081117,
'defaultLocationName': 'Northampton, United Kingdom'
}, options);
return this.each(function () {
var $this = $(this);
// global array of shop objects
var _locationset = new Array();
var geocoder;
您想放弃自定义字母标记并使用简单的"默认"标记吗?我理解正确吗?它应该像抛弃所有额外的选项并将功能简化为这样一样简单:
//Custom marker function
function createMarker(point) {
//Create the markers
return new google.maps.Marker({
position: point,
map: map,
draggable: false
});
}
关于多个XML文件,我尝试过的最接近的事情是放置多个KmlLayers并且可以工作。如果您正在从多个 XML 中读取数据,我相信构建信息应该可以正常工作。你能更具体一点吗?是否为每种类型的存储使用单个 XML 文件?向我们展示您为多个 XML 编写了什么代码?
相关文章:
- 组合的量角器定位器
- 找不到定位器Javascript
- 为样式表切换器存储js cookie
- 在商店定位器谷歌地图api中的商店面板中添加新字段
- 确定用于捕获对象的正确定位器
- 谷歌地图商店定位器只返回一个结果
- 我想将一组jquery选择器存储为要延迟评估的数据结构
- j查询存储定位器标记
- 谷歌地图商店定位器将硬编码初始化修改为动态
- jQuery选择器存储对象?如何强迫它不这样做
- 日期选取器存储错误值的问题
- PhoneGap地理定位器使用WiFi而不是GPS
- 谷歌地图商店定位器 点击跳转到页面顶部
- 量角器无法使用定位器 by.partialButtonText 或 by.buttontext 识别 angularjs
- 我可以使用什么来生成元素定位器的名称
- 无法使用量角器的绑定定位器定位元素
- “log4javascript”记录器存储在本地文件中
- 将来自dom元素的事件侦听器存储在JavaScript中
- downloadUrl函数不适用于使用opencart创建谷歌地图定位器
- 商店定位器使用谷歌地图API和没有数据库