Jeremy,

Just wanted to thank you again. I was able to get it working exactly
how I wanted (with only minor hacks). I couldn't have done it without
your help.

On Dec 8, 3:25 pm, ThisLooksPrettyCool <[email protected]>
wrote:
> That does look like what I want. Now to make sure I capture the right
> page... thanks so much for your help.
>
> On Dec 8, 12:42 pm, Jeremy Geerdes <[email protected]> wrote:
>
>
>
>
>
>
>
> > I would put it right at the top of the searchComplete method, like this...
>
> > function searchComplete(){
> >  var pageIWant = parseInt(document.getElementById('hdnCandPage').value);
> >   if(searcher.cursor.currentPageIndex != pageIWant){
> >     searcher.gotoPage(pageIWant);
> >     return;
> >   }
>
> > Jeremy R. Geerdes
> > Generally Cool Guy
> > Des Moines, IA
>
> > For more information or a project quote:
> > [email protected]
>
> > If you're in the Des Moines, IA, area, check out Debra Heights Wesleyan 
> > Church!
>
> > On Dec 8, 2011, at 11:24 AM, ThisLooksPrettyCool wrote:
>
> > > I think I accidentally hit the wrong button in replying. Let's try
> > > this again...
>
> > > Here is my searchcomplete function. Assuming I could accurately
> > > capture the user's currentpage, where should I put the gotoPage
> > > function call?
>
> > > function searchComplete() {
> > >            map.clearOverlays();
> > >            var results = searcher.results; // Grab the results array
>
> > >            var newIconRed = new GIcon(G_DEFAULT_ICON); // create new
> > > red pin map marker icon
> > >            newIconRed.image = "images/pin.png"; // icon image
> > > location
> > >            newIconRed.iconSize = new GSize(32, 32); // new icon
> > > dimensions
> > >            var markerRed = { icon: newIconRed }; // this is the new
> > > red icon marker
>
> > >            var newIconBlue = new GIcon(G_DEFAULT_ICON); // create new
> > > blue pin map marker icon
> > >            newIconBlue.image = "images/pinblue.png"; // icon image
> > > location
> > >            newIconBlue.iconSize = new GSize(32, 32); // new icon
> > > dimensions
> > >            var markerBlue = { icon: newIconBlue }; // this is the new
> > > blue icon marker
>
> > >            // We loop through the results array to get the points
> > >            for (var i = 0; i < results.length; i++) {
> > >                var result = results[i]; // Get the specific result
> > >                var markerLatLng = new
> > > google.maps.LatLng(parseFloat(result.lat), parseFloat(result.lng));
> > >                // check if this location is targeted. If so, do not
> > > show in red.
> > >                if (checkForTargeted(result.lat, result.lng,
> > > result.titleNoFormatting) == false) {
> > >                    var marker = new google.maps.Marker(markerLatLng,
> > > markerRed); // Create the red marker
>
> > >                    // Bind information for the infoWindow aka the map
> > > marker popup
>
> > > marker.bindInfoWindow(result.html.cloneNode(true));
> > >                    result.marker = marker; // bind the marker to the
> > > result
> > >                    map.addOverlay(marker); // add the marker to the
> > > map
> > >                }
> > >            }
>
> > >            var targets = getTargetsArray(); // Grab the targets array
> > >            // We loop through the targeted array to get the points
> > >            for (var i = 0; i < targets.length; i++) {
> > >                var target = targets[i]; // Get the specific target
> > >                // make sure target lat/lng is not 0, 0
> > >                if (target.lat != 0 || target.lng != 0){
> > >                    var markerLatLng = new
> > > google.maps.LatLng(parseFloat(target.lat), parseFloat(target.lng));
> > >                    var marker = new google.maps.Marker(markerLatLng,
> > > markerBlue); // Create the blue marker
>
> > >                    // Bind information for the infoWindow aka the map
> > > marker popup
> > >                    marker.bindInfoWindow(target.html);
> > >                    target.marker = marker; // bind the marker to the
> > > result
> > >                    map.addOverlay(marker); // add the marker to the
> > > map
> > >                }
> > >            }
>
> > >            // Store where the map should be centered
> > >            var center = searcher.resultViewport.center;
>
> > >            // Calculate what the zoom level should be
> > >            var ne = new
> > > google.maps.LatLng(searcher.resultViewport.ne.lat,
> > > searcher.resultViewport.ne.lng);
> > >            var sw = new
> > > google.maps.LatLng(searcher.resultViewport.sw.lat,
> > > searcher.resultViewport.sw.lng);
> > >            var bounds = new google.maps.LatLngBounds(sw, ne);
> > >            var zoom = map.getBoundsZoomLevel(bounds, new
> > > google.maps.Size(585, 255));
>
> > >            // Set the new center of the map
> > >            // parseFloat converts the lat/lng from a string to a
> > > float, which is what
> > >            // the LatLng constructor takes.
> > >            map.setCenter(new
> > > google.maps.LatLng(parseFloat(center.lat), parseFloat(center.lng)),
> > > zoom);
> > >        }
>
> > > On Dec 8, 12:07 pm, Jeremy Geerdes <[email protected]> wrote:
> > >> Well, you would just have to have a searchCompleteCallback which, upon 
> > >> the return of the initial results, would check for that value and call 
> > >> gotoPage accordingly.
>
> > >> Jeremy R. Geerdes
> > >> Generally Cool Guy
> > >> Des Moines, IA
>
> > >> For more information or a project quote:
> > >> [email protected]
>
> > >> If you're in the Des Moines, IA, area, check out Debra Heights Wesleyan 
> > >> Church!
>
> > >> On Dec 8, 2011, at 10:59 AM, Phil Dahlheimer wrote:
>
> > >>> I'm not sure that's much of a challenge. This code seems to be working 
> > >>> fine in my searchcomplete function:
> > >>>             map.setCenter(new 
> > >>> google.maps.LatLng(parseFloat(center.lat), parseFloat(center.lng)), 
> > >>> zoom);
>
> > >>>             document.getElementById('hdnCandPage').value = 
> > >>> searcher.cursor.currentPageIndex;
>
> > >>> I'm storing the user's cursor.currentpageindex in a hidden field on the 
> > >>> page. I don't think I'd have too much of a problem calling execute and 
> > >>> going to the page. What would that look like and where would I put it?
>
> > >>> On Thu, Dec 8, 2011 at 11:53 AM, Jeremy Geerdes <[email protected]> 
> > >>> wrote:
> > >>> Using the standard JSAPI, I don't believe you can do this without first 
> > >>> calling .execute() and then .gotoPage(), which may be problematic the 
> > >>> way you've described your app. You could write a custom JS wrapper for 
> > >>> the RESTful API that would support what you're trying to do. The one 
> > >>> challenge with that would be figuring out if there is, in fact, a 
> > >>> second page of results.
>
> > >>> Jeremy R. Geerdes
> > >>> Generally Cool Guy
> > >>> Des Moines, IA
>
> > >>> For more information or a project quote:
> > >>> [email protected]
>
> > >>> If you're in the Des Moines, IA, area, check out Debra Heights Wesleyan 
> > >>> Church!
>
> > >>> On Dec 8, 2011, at 10:20 AM, ThisLooksPrettyCool wrote:
>
> > >>>> Specifically, want to load the search normally on page load (this
> > >>>> works fine). After a user performs an action, I want to capture the
> > >>>> page the user is looking at (which I can do), perform an off-map
> > >>>> action (which I can do), rerun the search (which I can do) and land
> > >>>> the user on the same page (which I cannot do), and then reload the map
> > >>>> (which is automatic when the search reruns.
>
> > >>>> I know that I need to use gotoPage(), but I can't find anywhere to put
> > >>>> it in my function that works.
>
> > >>>> --
> > >>>> You received this message because you are subscribed to the Google
> > >>>> Groups "Google AJAX APIs" group.
> > >>>> To post to this group, send email to
> > >>>> [email protected]
> > >>>> To unsubscribe from this group, send email to
> > >>>> [email protected]
> > >>>> To view this message on the web, visit
> > >>>>http://groups.google.com/group/google-ajax-search-api?hl=en_US
> > >>>> For more options, visit this group at
> > >>>>http://groups.google.com/group/google-ajax-search-api?hl=en?hl=en
>
> > >>> --
> > >>> You received this message because you are subscribed to the Google
> > >>> Groups "Google AJAX APIs" group.
> > >>> To post to this group, send email to
> > >>> [email protected]
> > >>> To unsubscribe from this group, send email to
> > >>> [email protected]
> > >>> To view this message on the web, visit
> > >>>http://groups.google.com/group/google-ajax-search-api?hl=en_US
> > >>> For more options, visit this group at
> > >>>http://groups.google.com/group/google-ajax-search-api?hl=en?hl=en
>
> > >>> --
> > >>> You received this message because you are subscribed to the Google
> > >>> Groups "Google AJAX APIs" group.
> > >>> To post to this group, send email to
> > >>> [email protected]
> > >>> To unsubscribe from this group, send email to
> > >>> [email protected]
> > >>> To view this message on the web, visit
> > >>>http://groups.google.com/group/google-ajax-search-api?hl=en_US
> > >>> For more options, visit this group at
> > >>>http://groups.google.com/group/google-ajax-search-api?hl=en?hl=en
>
> > > --
> > > You received this message because you are subscribed to the Google
> > > Groups "Google AJAX APIs" group.
> > > To post to this group, send email to
> > > [email protected]
> > > To unsubscribe from this group, send email to
> > > [email protected]
> > > To view this message on the web, visit
> > >http://groups.google.com/group/google-ajax-search-api?hl=en_US
> > > For more options, visit this group at
> > >http://groups.google.com/group/google-ajax-search-api?hl=en?hl=en

-- 
You received this message because you are subscribed to the Google
Groups "Google AJAX APIs" group.
To post to this group, send email to
[email protected]
To unsubscribe from this group, send email to
[email protected]
To view this message on the web, visit
http://groups.google.com/group/google-ajax-search-api?hl=en_US
For more options, visit this group at
http://groups.google.com/group/google-ajax-search-api?hl=en?hl=en

Reply via email to