Markers
Hi Guys,
I really need a full and proper answer from you to this issue of markers not displaying, because at the moment it is not working reliably. If you know your MAP EXTENSION doesn't work reliably then appreciate knowing this as I can spend my time trying to source a solution with Google. If, as I hope, it does work reliably then I really need a detailed TO DO LIST from you on what needs checking and what needs changing to ensure that the right number of markers display consistently.
Just to recap. If you go to www.atac.org.uk and use the Find A Member search form for say "Yorkshire, West" you will see 12 members listed in the left column and on the Google Map you will see anything from 9 - 12 markers for these same members.
I have just ran a test by searching for "Glamorgan" - 5 out 6 markers show ; "Essex" - 10 out of 13 arkers show ; "Yorkshire, West" - 10 out of 12 markers show ; Yorkshire, South" - 6 out 6 markers show. If I run this test again I would get slightly different results. Clearly there is something going on which is a not working 100% reliably.
The search web page that displays the results uses the same database table and strored procedure to retrieve the data for both the list and the map. I have executed the map stored procedure on the server with a variety of input parameters and it works perfectly, i.e. retrurns the correct number of records. The problem then is not with the recordset or stored procedure. I have pasted below the ASP code that shows the 2 stored procedure in the search results page below.
The only other file used is your asp include file. I have pasted the code for this below as well.
I would be most grateful if you could provide me with a detailed set of instruction on resolving this problem. ATAC are a very important client of mine I need this working 100%.
I look forward to hearing from you soon and appreciate your help.
SOURCE CODE FOR SEARCH RESULTS WEB PAGE
<%
Dim rsMap__MMColParam
rsMap__MMColParam = "Surrey"
If (Request.Form("County") <> "") Then
rsMap__MMColParam = Request.Form("County")
End If
%>
<%
Dim rsMap
Dim rsMap_cmd
Dim rsMap_numRows
Set rsMap_cmd = Server.CreateObject ("ADODB.Command")
rsMap_cmd.ActiveConnection = MM_ConnARCAD_STRING
rsMap_cmd.CommandText = "EXEC uspFindATaCMembersMap ?"
rsMap_cmd.Prepared = true
rsMap_cmd.Parameters.Append rsMap_cmd.CreateParameter("param1", 200, 1, 50, rsMap__MMColParam) ' adVarChar
Set rsMap = rsMap_cmd.Execute
rsMap_numRows = 0
%>
<%
Dim rsMembers__MMColParam
rsMembers__MMColParam = "Surrey"
If (Request.Form("County") <> "") Then
rsMembers__MMColParam = Request.Form("County")
End If
%>
<%
Dim rsMembers
Dim rsMembers_cmd
Dim rsMembers_numRows
Set rsMembers_cmd = Server.CreateObject ("ADODB.Command")
rsMembers_cmd.ActiveConnection = MM_ConnARCAD_STRING
rsMembers_cmd.CommandText = "EXEC uspFindATaCMembers ?"
rsMembers_cmd.Prepared = true
rsMembers_cmd.Parameters.Append rsMembers_cmd.CreateParameter("param1", 200, 1, 50, rsMembers__MMColParam) ' adVarChar
Set rsMembers = rsMembers_cmd.Execute
rsMembers_numRows = 0
%>
<%
Dim RepeatMembers__numRows
Dim RepeatMembers__index
RepeatMembers__numRows = -1
RepeatMembers__index = 0
rsMembers_numRows = rsMembers_numRows + RepeatMembers__numRows
%>
SOURCE CODE FOR ASP INCLUDE FILE
function wagmp_map_1() {
if(GBrowserIsCompatible()) {
if(!document.getElementById('wagmp_map_1')) return false;
var map = new GMap2(document.getElementById('wagmp_map_1'));
map.enableContinuousZoom();
map.enableDoubleClickZoom();
map.addControl(new GSmallZoomControl());
var geocoder = new GClientGeocoder();
var fromAddress = {
enabled: false,
street: '',
city: '',
state: '',
zip: '',
country: '',
full: ''
};
var icon_0 = new GIcon();
icon_0.image = 'http://google.webassist.com/google/markers/traditionalflat/pacifica.png';
icon_0.shadow = 'http://google.webassist.com/google/markers/traditionalflat/shadow.png';
icon_0.iconSize = new GSize(34,35);
icon_0.shadowSize = new GSize(34,35);
icon_0.iconAnchor = new GPoint(9,23);
icon_0.infoWindowAnchor = new GPoint(19,0);
icon_0.printImage = 'http://google.webassist.com/google/markers/traditionalflat/pacifica.gif';
icon_0.mozPrintImage = 'http://google.webassist.com/google/markers/traditionalflat/pacifica_mozprint.png';
icon_0.printShadow = 'http://google.webassist.com/google/markers/traditionalflat/shadow.gif';
icon_0.transparent = 'http://google.webassist.com/google/markers/traditionalflat/pacifica_transparent.png';
<%
Dim rsMap_repeat_index
rsMap_repeat_index = 0
While (NOT rsMap.EOF)
%>
var address_0_<%=CStr(rsMap_repeat_index)%> = {
street: '',
city: '',
state: '',
zip: '',
country: '',
infowindow: 'custom',
infowindowtext: '<span style="font: 12px Verdana, Arial, Helvetica, sans-serif; color: black;"><%=Replace(Cstr("<strong>" & cStr((rsMap.Fields.Item("CompanyName").Value)) & "</strong><br><br />" & cStr((rsMap.Fields.Item("OfficeAddress1").Value)) & "<br>" & cStr((rsMap.Fields.Item("PostCodeTown").Value)) & " " & cStr((rsMap.Fields.Item("PostCode").Value)) & ""), "'", "\'")%></span>',
full: '<%=Replace(Cstr("" & cStr((rsMap.Fields.Item("Lat").Value)) & ""), "'", "\'")%>,<%=Replace(Cstr("" & cStr((rsMap.Fields.Item("Long").Value)) & ""), "'", "\'")%>',
isdefault: true,
addressType: 'coordinates',
loop: 'rsMap',
latitude: '<%=Replace(Cstr("" & cStr((rsMap.Fields.Item("Lat").Value)) & ""), "'", "\'")%>',
longitude: '<%=Replace(Cstr("" & cStr((rsMap.Fields.Item("Long").Value)) & ""), "'", "\'")%>',
markerStyle: 'Google Traditional (flat)',
markerColor: 'Pacifica'
};
geocoder.getLatLng (
address_0_<%=CStr(rsMap_repeat_index)%>.full,
function(point) {
if(point) {
var marker = new GMarker(point, icon_0);
GEvent.addListener(marker, 'click', function() {
marker.openInfoWindowHtml(address_0_<%=CStr(rsMap_repeat_index)%>.infowindowtext);
});
if(!fromAddress.enabled || 'address_0_<%=CStr(rsMap_repeat_index)%>' != 'address_0_0') {
map.setCenter(point, 9);
map.addOverlay(marker);
}
}
else {
map.setCenter(point, 9);
map.addOverlay(marker);
}
}
);
<%
rsMap_repeat_index = rsMap_repeat_index + 1
rsMap.MoveNext()
Wend
%>
}
}