If your main requirement is custom icons per location, use the Google Maps JS APIdirectly (not GeoChart). You’ll have full control over:
Marker icons (any image or SVG)
Info windows
Event handling
Layers and clustering
Why not GeoChart? Because it's primarily for data visualization , not adding custom UI like different marker images.