Forum



15:28

22/07/2010

I'm using Google Maps' local search, to find businesses in the area of an specific address. The results will be intercepted and should be displayed in a JQGrid table. I would like to use JQGrid's "Array Data" to insert the results locally into the Grid. At this time I have the following code:
<script type="text/javascript">
var map = null;
var geocoder = null;
function initialize() {
/* Initialize Google Maps */
if (GBrowserIsCompatible()) {
map = new GMap2(document.getElementById("map"));
map.setCenter(new GLatLng(50.786916, 6.101360), 16);
//map.setUIToDefault();
var customUI = map.getDefaultUI();
customUI.controls.scalecontrol = false;
map.setUI(customUI);
var options = {
onSearchCompleteCallback:function(searcher){
var resultcontent = '';
if (searcher.results && searcher.results.length > 0) {
for (var i = 0; i < searcher.results.length; i++) {
var result = searcher.results[i];
// Split Address-Lines into Street and No
var TempString = result.addressLines[0];
var StreetLine = TempString.split(/b[0-9]/);
// Split Address-Lines to get Zipcode
TempString = result.addressLines[1];
var CityLine = TempString.split(/b[^0-9]/);
// Construct the Data Array
var InputData = "{Firma:""+result.titleNoFormatting+"", Strasse:""+StreetLine[0]+"", Hausnummer:""+StreetLine[1]+"", Postleitzahl:""+CityLine[0]+"", Ort:""+result.city+"", Telefonnummer:""+result.phoneNumbers[0].number+""}";
alert(InputData);
// Outputs for example: {Firma:"Lukull Pizza Service GbR", Strasse:"Jülicher Straße ", Hausnummer:"6", Postleitzahl:"52070", Ort:"AACHEN", Telefonnummer:"0241 9010080"}
// Apply Data to Grid
jQuery("#ResultGrid").addRowData(i, InputData);
}
}
}
};
localSearch = new google.maps.LocalSearch(options);
map.addControl(localSearch);
map.removeControl(GScaleControl);
geocoder = new GClientGeocoder();
$("#map").hide("fast");
}
}
function showAddress(address, CompleteAdd) {
// Gets an address from database to pinpoint the location
if (geocoder) {
geocoder.getLatLng(
address,
function(point) {
if (!point) {
alert(address + " not found");
} else {
map.setCenter(point, 16);
var marker = new GMarker(point);
map.addOverlay(marker);
marker.openInfoWindowHtml(CompleteAdd);
}
}
);
}
$("#map").show("fast");
}
$("#ResultGrid") .jqGrid({
colNames:['ID', 'Firma', 'Strasse', 'Hausnummer', 'Postleitzahl', 'Ort', 'Telefonnummer'],
colModel:[
{name:'ID', index:'ID', width:55, editable:false, searchable:false},
{name:'Nachname', index:'Nachname', width:150, editable:false, searchable:false},
{name:'Strasse', index:'Strasse', width:150, editable:false, searchable:false},
{name:'Hausnummer', index:'Hausnummer', width:150, editable:false, searchable:false, sorttype:'int'},
{name:'Postleitzahl', index:'Postleitzahl', width:150, editable:false, searchable:false, sorttype:'int'},
{name:'Ort', index:'Ort', width:150, editable:false, searchable:false},
{name:'Telefonnummer', index:'Telefonnummer', width:150, editable:false, searchable:false}
],
datatype: 'clientSide',
//editurl:'Edit.php',
height: 240,
multiselect: true,
pager:'#ResultPager'
})
.navGrid('#ResultPager', {view:false, edit:false, add:false, del:false, search:false, refresh:false} )
.navButtonAdd('#ResultPager', {title:"Adresse in Addressbuch speichern", buttonicon:"ui-icon-disk", caption:"In Adressbuch speichern", onClickButton:function(){
//This method should save the selected addresses to the database
}})
});
</script>
</head>
<body onload="initialize()" onunload="GUnload()">
<div class="main" align="center">
<table id="MyGrid"></table>
<div id="pager"></div>
<div class="ui-dialog ui-widget ui-widget-content ui-corner-all ui-draggable ui-resizable" style="height: 150px" id="Dialog"></div>
<div id="map" style="width: 850px; height:450px; padding:10px; font-size: medium; color:#853805; background-color:#FFE8CF;"></div>
<br/>
<div id="ResultGrid">
<div id="ResultPager"></div>
</div>
</div>
If a Search is completed and the onSearchCompleteCallback function is called I get this error in firebug:
I can't find any solution for this problem.
Does anyone know more about this error or about using local data arrays with JQGrid?
- Excuse my english -
21:04

10/08/2009

I posted the answer on http://stackoverflow.com/quest.....50#3330350: you should replace
<div id="ResultGrid"> <div id="ResultPager"></div> </div>
to
<table id="ResultGrid"></table>
<div id="ResultPager"></div>
Best regards
Oleg
15:53

Moderators
30/10/2007

Hello,
The 3.8 has a checking for this mistake.
Regards
Tony
For professional UI suites for Java Script and PHP visit us at our commercial products site - guriddo.net - by the very same guys that created jqGrid.
Most Users Ever Online: 715
Currently Online:
61 Guest(s)
Currently Browsing this Page:
1 Guest(s)
Top Posters:
OlegK: 1255
markw65: 179
kobruleht: 144
phicarre: 132
YamilBracho: 124
Renso: 118
Member Stats:
Guest Posters: 447
Members: 11373
Moderators: 2
Admins: 1
Forum Stats:
Groups: 1
Forums: 8
Topics: 10592
Posts: 31289
Newest Members:
, razia, Prankie, psky, praveen neelam, greg.valainis@pa-tech.comModerators: tony: 7721, Rumen[Trirand]: 81
Administrators: admin: 66