You Have edited script according to v2 i am getting this error on using that script pic attached on line 154
GEvent.addListener(window.polyline, 'click', function() {
window.polyline.setOptions(options: { strokeColor: 'blue' });
How can we change color of icon and polyline by click on running application? My code is as follows. It has no error. How can I do this?
using System;
using System.Collections;
using System.Configuration;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;
namespace GoogleMap
{
// A sample project by Ghaffar khan
public partial class Map : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
DataSet1TableAdapters.LocationsTableAdapter da = new GoogleMap.DataSet1TableAdapters.LocationsTableAdapter();
DataSet1.LocationsDataTable table = new DataSet1.LocationsDataTable();
da.Fill(table);
BuildScript(table);
//GooglePolyline PL1 = new GooglePolyline();
}
private void BuildScript(DataTable tbl)
{
String Locations = "";
foreach (DataRow r in tbl.Rows)
{
// bypass empty rows
if (r["Latitude"].ToString().Trim().Length == 0)
continue;
string Latitude = r["Latitude"].ToString();
string Longitude = r["Longitude"].ToString();
// create a line of JavaScript for marker on map for this record
Locations += Environment.NewLine + " map.addOverlay(new GMarker(new GLatLng(" + Latitude + "," + Longitude + ")));";
}
// construct the final script
js.Text = @"<script type='text/javascript'>
function initialize() {
if (GBrowserIsCompatible()) {
var map = new GMap2(document.getElementById('map_canvas'));
map.setCenter(new GLatLng(45.05,7.6667), 2);
map.openInfoWindowHtml ( new GLatLng(45.05,7.6667), 'Serif<br>Pakistan');
" + Locations + @"
map.setUIToDefault();
// Create an array with points
var points = [
new GLatLng(24.85229, 67.01703),
new GLatLng(24.914463, 67.0965958),
new GLatLng(24.86588, 67.06089),
new GLatLng(24.9726753, 67.06638),
new GLatLng(24.840023, 67.24285),
new GLatLng(24.85229, 67.01703)
];
// Create a new polyline
var polyline = new GPolyline(points, '#ff0000', 5, 0.7);
// Add the polyline to the map using map.addOverlay()
map.addOverlay(polyline);
var marker = new GMarker(new GLatLng(45.05,7.6667))
//
}
}
</script> ";
}
}
}
//////The Script According to GergL is,///////
js.Text = @"<script type='text/javascript'>
function initialize() {
if (GBrowserIsCompatible()) {
window.polyline = new GPolyline(points, '#ff0000', 5, 0.7);
var map = new GMap2(document.getElementById('map_canvas'));
map.setCenter(new GLatLng(45.05,7.6667), 2);
map.openInfoWindowHtml ( new GLatLng(45.05,7.6667), 'Serif<br>Pakistan');
" + Locations + @"
map.setUIToDefault();
google.maps.event.addListener(window.polyline, 'click', function() {
window.polyline.setOptions(options: { strokeColor: 'blue' });
});
// Create an array with points
var points = [
new GLatLng(24.85229, 67.01703),
new GLatLng(24.914463, 67.0965958),
new GLatLng(24.86588, 67.06089),
new GLatLng(24.9726753, 67.06638),
new GLatLng(24.840023, 67.24285),
new GLatLng(24.85229, 67.01703)
];
// Create a new polyline
var polyline = new GPolyline(points, '#ff0000', 5, 0.7);
// Add the polyline to the map using map.addOverlay()
map.addOverlay(polyline);
}
}
google.maps.event.addListener(window.polyline, 'click', function() {
window.polyline.setOptions(options: { strokeColor: 'blue' });
});
</script> ";
But i am getting error .. .Object Expected in line 47 in script where i use click method in that line hopes for your help !
You Have edited script according to v2 i am getting this error on using that script pic attached
You need to assign your
polylinevariable in theinitialize()function to a globally accessible variable, and then use thesetOptions()method on it to set the new colour in your click event handler (in javascript).e.g. if you changed the line in
initialise()from this:to this:
And then wanted to have it change to blue when clicked, you would add code like:
I haven’t tested this, btw. But it should help you get on the right track.
EDIT: Here is what I think your script should be:
EDIT 2: Updated to work with API v2, though be aware Google strongly encourages you to migrate to the new V3 on both the V2 documentation page and the V3 documentation page.